JavaScript Security Vulnerabilities / JavaScript 安全漏洞
<a href="javascript:alert('? vulnerable message')">Hello World!</a>
<a href="javascript:alert('? vulnerable message')" target="_blank">Hello World!</a>
<a href="#" onclick="doSomething(1);">Link 1</a>
<br>
<a href="#" onclick="doSomething(2); return false;">Link 2</a>
<br>
<a href="javascript://" onclick="doSomething(3);">Link 3</a>
<br>
function doSomething(i) {
emojis = ``.padEnd(i*2, `?`)
console.log(`do something =`, i, emojis)
}
http://codepen.io/xgqfrms/pen/poxOqVN?editors=1011
???
http://youtu.be/ypNKKYUJE5o?t=321
http://stackoverflow.com/questions/2321469/when-do-i-need-to-specify-the-javascript-protocol
http://learn.microsoft.com/en-us/previous-versions/aa767736(v=vs.85)
©xgqfrms 2012-2021
www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!
原创文章,版权所有©️xgqfrms, 禁止转载 ?️,侵权必究⚠️!
本文首发于博客园,作者:xgqfrms,原文链接:http://www.cnblogs.com/xgqfrms/p/17408057.html
未经授权禁止转载,违者必究!
Fisher线性判别也叫作LDA,它可用于降维也可用于分类,当维度降低成1维时,确定一个阈值,即可实现分类。和PCA相比,LDA是一种有监督的降维算法,局限性在于降低的维度必须小于样本类别数-1。LDA分类的核心思想是将样本的向量空间投射到一个一维直线上,使样本类内离散度尽可能小,类间离散度尽可能大。本实验通过sonar和Iris数据集,实现了三种不同方式的分类算法,并在sonar数据集上选取了部分特征,考察了特征数和分类精确度之间的关系。 pdf版的实验报告可以戳这:https://download.csdn.net/download/qq1198768105/34257333 sonar和Iris数据集下载可以戳这:https://download.csdn.net/download/qq1198768105/31613770实验报告图片版 注:报告中有个小错误,sonar数据集应该是两类的图像绘制,报告里画错了。程序代码sonar数据集分类importnumpyasnp fromsklearn.model_selectionimporttrain_test_split,KFold
免疫荧光染色实验最烦恼的就是自发荧光,如何降低这种影响呢?小编这里有几条建议,可供参考。1—前言 为什么SCI看起来高大上呢? 小编的经验是:观点创新+排版漂亮+图片绚烂+语言精练。 所谓一图胜千言,前提是图的质量一定要高。 现在越来越多人会在文章中加入免疫荧光图片,简化语言描述的同时也能有效提高文章档次。免疫荧光染色图片非常绚烂,其实验步骤并不复杂。仅仅是将普通二抗换成荧光标记的二抗,避光操作,DAPI染核,最后采用荧光显微镜在不同波段激发下采集图片,其它步骤几乎与传统的IHC步骤一致。 但是接触过的人都明白,免疫荧光标记存在一个很大的问题,即自发荧光。这将极大地降低实验图片的可用性和美观性。自发荧光类似于传统IHC的背景性染色。如下图中的大片绿色荧光,几乎都是自发性荧光。 自发荧光的解决办法有两种,采用冰冻切片染色或降低石蜡切片染色的自发荧光。今日主要是探讨如何降低免疫荧光染色实验中的石蜡切片自发性荧光,且听小编慢慢道来。 2— 石蜡切片的特点2.1石蜡切片可以薄至3μm,实验过程中组织损耗较少。 采用大鼠、新西兰兔、beagle犬、食蟹猴、小型猪等相对较大的动物进行实验时,我们几
问题在iOS11以下系统,WKWebView出现AninstanceofclassWKWebViewwasdeallocatedwhilekeyvalueobserverswerestillregisteredwithit.复制以上崩溃问题,经发现是没有removeObserver或者delegate没有设置为nil产生解决方法在dealloc中:-(void)dealloc{ //防止iOS11以下奔溃 [self.locationWebViewremoveObserver:self.progressViewforKeyPath:@"estimatedProgress"]; [self.locationWebViewsetNavigationDelegate:nil]; [self.locationWebViewsetUIDelegate:nil]; }复制
前几天,看到TSRC的小密圈里发起了一个“大神”活动,聊聊初入行时,你心目中/身边的大神,刚看到活动的时候我也去参与了。在这里,重新梳理一下,也借此机会聊聊零基础的我是如何踏入安全行业,总结一下自身的成长经历,感谢一下这一路上遇见的人。上大学那会,我们学的网络安全就真的是纯粹的”网络安全“,比如防火墙原理/路由交换技术,那时候的我也曾一度去追求CCIE的资格,却有一种说不出的迷茫。 大四的时候,在一个机缘巧合之下,我拿到了一家安全公司的实习机会。实习报道的第一天,我早早地等在公司门口,打电话给部门经理说:经理,我今天来报道。经理回答说,你在公司门口等我会,我马上到。我一直期许他会开着车过来,五分钟后,我看见有个人骑着小毛驴滴滴滴地开过来,是的,眼前这个人,就是经理,我当时没崩住,笑了出来。这事让我印象深刻,但其实骑小毛驴只是一种出行方式,毕竟有钱人的生活就是这么朴实无华且枯燥。实习的第一天,经理把我交给一个老师傅来带,老师傅说,你来跟我学web安全吧,就这样,我算是正式踏进了这一行。对于我来说,我也比较喜欢去做一些有意思的事情。初入安全实习的日子里,我用了大部分的业余时间去追求技术上的
机器之心原创作者:思源、一鸣从程序员到数据工程师,编写程序代码是一项基本功,但是编写冗长代码的过程也极大地消耗了开发者的耐心。近来,有不少关于代码补全工具的消息爆出,例如,来自美国的Kite,来自加拿大的TabNine等,一时间获得了不少程序员的关注。但其实很多人还并不知道,在这些国外产品不断被媒体推送的背后,有一款能力更为强大、更早将深度学习应用于代码补全的产品,一款源自中国的工具——aiXcoder,它的研发者们来自于北京大学。在本文中,机器之心采访了项目总负责人北京大学计算机科学技术系副教授李戈,请他为读者朋友解读自动代码补全背后的技术,以及aiXcoder背后的技术特性和优势。aiXcoder官网:https://www.aixcoder.com/#/aiXcoder的代码补全效果我们先看看写TensorFlow时的代码补全效果:如上所示,aiXcoder在TensorFlow的代码环境下能够直接「猜测」到模型建立后的一系列代码流程。例如,在定义了loss之后需要定义optimizer,之后需要train_op、init方法,然后最终定义模型的保存方式saver,以及开始运行计
getopt模块用于解析脚本参数。getopt.getopt(args,shortopts,longopts=[])解析命令行选项及参数列表。args:要解析的参数列表,但不包括当前执行的python脚本名称,一般等同于sys.argv[1:]。shortopts:要识别的短选项字符串,如果后接:表示需要给定参数。如ab:c:,表示识别-a,-b和-c的短选项,其中-b和-c需要后接参数。如果不需要短选项,可以设置为空字符串。longopts:要识别的长选项列表(不包括--前缀),长选项如果后接=表示需要给定参数,不支持可选参数。如["help","user=","password="],表示识别--help,--user=root,--password=123456的长选项。函数返回值由两个元素组成。第一个是(option,value)元组的列表,第二个是args剥离短选项及其参数和长选项及其参数之后剩余的参数列表。(option,value)元组中的option表示包含-或--前缀的选项,value表示该option对应的
作者|DavidNeal译者|谭开朗,责编|屠敏转载自CSDN(ID:CSDNnews)各大平台与各种语言的开发人员都在使用VisualStudioCode,我对此感到惊讶。StackOverflow发布的2019年开发者调查结果显示,VSCode占主导地位。我使用VSCode的主要原因是它能很好的支持JavaScript和Node.js的代码调试,并且能免费使用VisualStudioMarketplace中提供的定制化扩展组件。然而,这里面有成千上万个扩展组件!我们怎么知道哪些是好用的呢?一种方法是通过查看扩展组件的平均评级和下载数量来衡量其受欢迎程度。另一种方法是阅读像本文这种包含个人观点的文章。一起来看看吧!下面是我为Node.js开发人员推荐的VisualStudioCode扩展组件。BracketPairColorizer2我写代码是尽可能的简洁明了,并且不嵌套太多的东西。然而事与愿违,有些时候这是不可避免的。BracketPairColorizer2为结对的括号提供了颜色高亮功能,便于我们直观的看出对应的左括号和右括号。npmnpm扩展组件有两个功能:运行编辑器中webp
1】原则原则对于任何一项技术实现来说都是至关重要的,在设计某一个系统功能的时候我们讲究的是设计原则:【单一职责原则SingleResponsibilityPrinciple、里氏替换原则LiskovSubstitutionPrinciple、依赖倒置原则DependenceInversionPrinciple、接口隔离原则InterfaceSegregationPrinciple、迪米特法则LawOfDemeter、开闭原则OpenClosePrinciple】。在架构设计的时候我们也讲究架构原则:【分层原则、避免循环依赖】。不仅仅在技术领域在做人做事都要讲究原则,违背原则那么等待你的将是无情的惩罚。对于DDD的设计我们也有相应的原则需要遵守,当然如果不遵守在前期看不出什么区别,但是到开发阶段问题就会暴露出来。我们来看两个基本的设计原则问题。【精简聚合】精简聚合的设计原则无疑是最重要的。一些软件工程方法论书籍经常指导我们进行UML业务建模,"在这个阶段不需要考虑任何技术实现问题”,我按照这样的指导原则进行了UML的设计然后顺利的创建出ER关系图,结果发现那样的数据库结构根本不
本节主要讨论一个问题,如何在Java中取消或关闭一个线程? 取消/关闭的场景 我们知道,通过线程的start方法启动一个线程后,线程开始执行run方法,run方法运行结束后线程退出,那为什么还需要结束一个线程呢?有多种情况,比如说:很多线程的运行模式是死循环,比如在生产者/消费者模式中,消费者主体就是一个死循环,它不停的从队列中接受任务,执行任务,在停止程序时,我们需要一种"优雅"的方法以关闭该线程。在一些图形用户界面程序中,线程是用户启动的,完成一些任务,比如从远程服务器上下载一个文件,在下载过程中,用户可能会希望取消该任务。 在一些场景中,比如从第三方服务器查询一个结果,我们希望在限定的时间内得到结果,如果得不到,我们会希望取消该任务。 有时,我们会启动多个线程做同一件事,比如类似抢火车票,我们可能会让多个好友帮忙从多个渠道买火车票,只要有一个渠道买到了,我们会通知取消其他渠道。 取消/关闭的机制 Java的Thread类定义了如下方法:publicfinalvoidstop() 这个方法看上去就可以停止线程,但这个方法被标记为了过时,简单的说,我们不应该使
大家好,又见面了,我是你们的朋友全栈君。上周确实事情挺多的,年会、公司聚餐,一到过年就有忙不完的事分心。还好C语言再学习总结的已经差不多了,年前也不展开别的了,接下来这十几天、总结几篇典型的面试题吧。言归正传,接下来看看关键字volatile。一、volatile介绍参看:volatile详解参看:CLanguageKeywordsIndicatesthatavariablecanbechangedbyabackgroundroutine.Keywordvolatileisanextremeoppositeofconst.Itindicatesthatavariablemaybechangedinawaywhichisabsolutelyunpredictablebyanalysingthenormalprogramflow(forexample,avariablewhichmaybechangedbyaninterrupthandler).Thiskeywordusesthefollowingsyntax:volatiledata-definition;复制Everyreferenc
c++异步回调函数引用传递空指针异常 问题描述 最近使用c++/qt开发的一个桌面应用,运行到一处异步执行python脚本任务的方法处报错: 进程已结束,退出代码-1073741819(0xC0000005) 复制 此处是单独开一个线程异步执行一个python脚本后,回调UI线程传来的回调函数将结果返回给UI线程,大致代码如下: voidTestCaseProject::initProTestCasesEnvAsync(conststd::function<void(std::vector<std::pair<std::string,Json::Value>>)>&_callback){ std::threadt{[&](){ doWithSetRunning([&](){ autoresult=this->initProTestCasesEnv(); _callback(result); }); }}; t.detach(); } voidcallBackFunc(conststd::vector<std::p
1Activiti服务架构 1.1概述 1.2activiti-cfg.xml activiti-cfg.xml是activiti的引擎配置文件,包括:ProcessEngineConfiguration的定义、数据源的定义、事务管理器等,此文件其实就是一个Spring配置文件,下面是一个基本的配置只配置了ProcessEngineConfiguration和数据源。 <?xmlversion="1.0"encoding="UTF-8"?> <beansxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.
恰当的JDBC超时设置能够有效地减少服务失效的时间。本文将对数据库的各种超时设置及其设置方法做介绍。 真实案例:应用服务器在遭到DDos攻击后无法响应 在遭到DDos攻击后,整个服务都垮掉了。由于第四层交换机不堪重负,网络变得无法连接,从而导致业务系统也无法正常运转。安全组很快屏蔽了所有的DDos攻击,并恢复了网络,但业务系统却还是无法工作。 通过分析系统的threaddump发现,业务系统停在了JDBCAPI的调用上。20分钟后,系统仍处于WAITING状态,无法响应。30分钟后,系统抛出异常,服务恢复正常。 为什么我们明明将querytimeout设置成了3秒,系统却持续了30分钟的WAITING状态?为什么30分钟后系统又恢复正常了? 当你对理解了JDBC的超时设置后,就能找到问题的答案。 为什么我们要了解JDBC? 当遇到性能问题或系统出错时,业务系统和数据库通常是我们最关心的两个部分。在公司里,这两个部分是交由两个不同的部门来负责的,因此各个部门都会集中精力地在自身领域内寻找问题,这样的话,在业务系
1.XML是什么? XML指可扩展标记语言(EXtensible Markup Language) XML是一种标记语言,很类似HTML XML的设计宗旨是传输数据,而非显示数据 XML标签没有被预定义。您需要自行定义标签。 XML被设计为具有自我描述性。 XML是 W3C的推荐标准 2.XML与HTML的主要差异 XML不是HTML的替代。 XML和HTML为不同的目的而设计: XML被设计为传输和存储数据,其焦点是数据的内容。 HTML被设计用来显示数据,其焦点是数据的外观。 HTML旨在显示信息,而XML旨在传输信息。 XML不是对HTML的替代 XML是对HTML的补充。 XML不会替代HTML,理解这一点很重要。在大多数web应用程序中,XML用于传输数据,而HTML用于格式化并显示数据。 对XML最好的描述是: XML是独立于软件和硬件的信息传输工具。 3.XML语法 开头:<?version="1.0"encoding="UTF-8"?> 由于XML具有可扩展性,大部分都是自
T1 洗澡 【问题描述】 你是能看到第一题的 friends呢。 ——hja 洗澡的地方,有一段括号序列,将一个括号修改一次需要1的代价(将左括号变成右括号或者相反),求最小代价使得括号序列合法。 【输入格式】 一行一个括号序列。 【输出格式】 一行一个整数代表答案。 【样例输入】 ())( 【样例输出】 2 【数据范围与规定】 对于50%的数据,括号序列长度不超过100。 对于100%的数据,括号序列长度不超过105且一定为偶数,只包含小括号。 思路:水题模拟 1#include<cctype> 2#include<cstdio> 3#include<cstring> 4 5constintMAXN=100010; 6 7intlen,top,cnt; 8 9chars[MAXN]; 10 11intmain(intargc,char**argv){ 12freopen("shower.in","r",stdin); 13freopen("shower.out","w",s
测试环境如下图: 其中,checkPoint采用allinone的安装模式,系统版本为R81,安装完成后开启IPS、AV、AB、TE等模块,其中靶机安装xhack作为服务端,POC端安装xhack作为攻击端。 step1:SQL注入POC测试 在POC端发起SQL注入攻击,显示被拦截,在CheckPoint上查看拦截日志如下: CheckPoint拦截日志如下: step2:目录遍历攻击 在POC端发起目录遍历攻击,显示被拦截,在CheckPoint上查看拦截日志如下: step3:XSS反射型攻击 在POC端发起XSS反射攻击,显示被拦截,在CheckPoint上查看拦截日志如下: step4:口令暴力破解攻击 在POC端发起口令暴力破解攻击,显示被拦截,在CheckPoint上查看拦截日志如下: step5:恶意软件攻击 在POC端发送恶意软件样本到靶机,显示被拦截,在CheckPoint上查看拦截日志如下: &nb
一丶启动 Django启动时,依次执行settings.py中的INSTALLED_APPS列表,将列表中的每一个应用读取并执行脚本。执行每个应用脚本的__init__.py如下代码时复制 importadmindefautodiscover(): autodiscover_modules('admin',register_to=site)复制 上述代码就会寻找并执行项目中的所有admin.py文件. 二丶注册 在执行了所有的admin.py文件时,如下注册的模型就是一个单例对象. fromdjango.contribimportadmin #Registeryourmodelshere. admin.site.register()复制 进入admin.site源代码中会有如下显示 这是一个基于模块的单例模式,一个类只会实例化一个对象,并且整个项目使用这个一个对象. 三丶设计url url分发 分发的实质是url中套url从而实现分发的效果 如果要完成上述的效果 url注册 在项目中的urls.py文件下的urlpatterns=[
Thisblogpostisarevivalofacollectionofancientsone. Iwastoolazytoportthemfromwordpresstopelican. ButTDKPSaskedmeifIcould putthembackonline,sinceheusedthemtoteachradare2'sbasics. Enjoyacompletelyrewrittenreverse-engeeneringtutorialproudly poweredbyradare2! Grabradare2,anasmcheatsheet, theIOLIcrackmesuite,andgeatready. crackme0x00 Thisisthefirstcrackme,theeasiestone. $./crackme0x00 OLICrackmeLevel0x00 Password:1234 InvalidPassword! 复制 Maybethepasswordisinplaintextinsideit. Noneedtodisassemblehere,we
´ ´ © © > > µ µ ® ® & & ° ° ¡ ¡ » » ¦ ¦ ÷ ÷ ¿ ¿ ¬ ¬ § § • • ½ ½ « « ¶ ¶ ¨ ¨ ¸ ¸ ¼ ¼ < < ± ± × × ¢ ¢ ¾ ¾ ¯ ¯ “ " ™ ™ € € £ £ ¥ ¥ ¥ &nbs
解读高通反垄断调查中的四个真相 http://tech.sina.com.cn/zl/post/detail/t/2015-02-15/pid_8472038.htm 2015年02月15日09:02 文/丁傲西 近日,高通反垄断案成为业内热议的话题,各种观点可谓层出不穷。由于早期门户网站翻译的问题,大部分国人至今仍不知道高通收取专利费的情况,一些门户网站的分析文章甚至就此得出了4G手机要缴纳8.5%(3G5%+4G3.5%)的错误结论。除此之外,目前的分析也集中在高通降低专利费对中国手机厂商的影响上,对运营商乃至自主知识产权的发展却鲜有人问津。那么我们不禁要问了,发改委和高通达成的协议中又有哪些不为人知的秘密呢? 秘密1:“自主知识产权”的TD-LTE居然要交专利费 高通公司在发改委反垄断调查完成后发布了这样一份公告,宣布3G/4G产品的专利费下调。由于翻译可能存在问题,我们有必要先来看一下原文: “ForlicensesofQualcomm’s3Gand4GessentialChinesepatentsforbrandeddevicessoldforuseinC
一、跳石子 无限循环了。 改为: if(rez<=m){ ans=ans>rez?rez:ans; l=mid+1; }elser=mid-1; 复制 就跳出了循环。 0是输出的结果,明显错误。 ___________________________________________________________ 还有ans的初值应该设为0x7fffffff,改正后输出1。 ___________________________________________________________ 最后 AC。 ________________________________________________________________________________________________________________________ 总结: 1、 l=mid+1或者l=mid r=mid-1或者r=mid 写错可能导致无限循环。 复制 2、清楚ans是什么。 ans记录的应该是什么,用不用取mi