跨站脚本攻击(Cross Site Script)为了避免与层叠样式表CSS混淆,故称XSS。XSS是指攻击者利用网站没有对用户提交数据进行转义处理或者过滤不足的缺点,进而将一些代码嵌入到web页面中去,使得别的用户访问也好执行相应的嵌入代码,从而盗取用户资料、利用用户身份进行某些动作或对访问者进行病毒侵害等攻击。反射型和存储型XSS的作用一样,只是用户触发形式不同。
XSS类型 | 存储型 | 反射型 | DOM型 |
---|---|---|---|
数据存储 | 数据库 | URL | URL |
输出位置 | HTTP响应中 | HTTP响应中 | 动态构造的DOM节点 |
javascript
绕过magic_quotes_gpc
:针对开启了魔术引号的网站,可通过String.fromCharCode
方法将ASCII转换为字符串/
绕过alert
;
BeEF(Browser Exploitation Framework)是目前最强大的浏览器开源渗透测试框架,通过XSS漏洞配合JS脚本和Metasploit进行渗透测试;BeEF基于Ruby语言编写,支持图形化界面,操作简单。
启动Apache和BeEF
攻击:Current Browser > Commands
javascript
:使用JS变换绕过,这里必须在浏览器直接执行(利用空白符如水平制表符HT,换行符LF,回车键CR来截断关键字)name
后插入Payload"
闭合字符串,再使用</h2>
闭合标签,最后插入Payloadh2
会把输入的字符全部输出,而下面输入框却不会。如输入以下字符,h2
标签会输出123'111
,而输入框只剩下123
h2
标签,而是在输入框input
标签。插入Payload点击搜索,然后点击输入框"
闭合。插入Payload后点击搜索,然后点击输入框onclick,onmousemove
等常见事件,主要是把on
替换成了o_n
和<script>
替换成<scr_ipt>
。这里使用a
标签触发javascript
,搜索后点击超链接href
和script
,可以双写绕过t_sort
参数时,对应的value
值会变化autofocus
和onfocus
自动聚焦触发,但是发现有时候不能触发,或者触发了后会一直弹框而不能正常跳转到下一关type
属性将该输入框变成button
,覆盖掉原有的hidden
隐藏属性,并使用onclick
事件触发。浏览器传入如下参数后点击按钮即可t_sort
,但是绕过双引号"
无果后放弃,寻找其它注入点t_ref
,通过URL传递参数无效,后来通过ModHeade
插件,尝试在头部添加Referer
,发现出现Value值
t_ua
参数和上一题,可以推测出此处需要修改的是User-Agent
,同样使用上面的插件和Payload,将Referer
修改为User-Agent
即可t_cook
,使用Burp修改Cookie即可,Payload如下:/level15.php?src=1.gif
ng-include
指令用于包含外部的 HTML 文件,包含的内容将作为指定元素的子节点。
/
都转换成了
,使用前面说到的JS变换绕过Flash
才能看到题目src
属性,然后手动添加事件即可。一开始使用onclick
事件,但是点击后跳转到一个undefined
页面,后使用onmouseover
事件即可版权属于:Naraku
本文链接:https://cloud.tencent.com/developer/article/1853430
本站所有原创文章均采用 知识共享署名-非商业-禁止演绎4.0国际许可证 。如需转载请务必注明出处并保留原文链接,谢谢~