1.什么是XSS?
(全称跨站脚本攻击)可以理解为,将用户输入的数据作为前端代码执行
2.实现XSS的两个关键条件
(1).用户可以控制输入
(2).原本程序要执行的代码,拼接了用户输入的数据
3.什么是反射型XSS
本次提交的数据成功实现了XSS,但也仅仅是对本次的访问产生了影响,而非持久性攻击
4.XSS能做什么
盗取用户cookie
获取内网ip
获取浏览器保存的明文密码
截取网页图片
获取网页上的键盘记录
5.怎么检测是否存在XSS
1.标签法(又叫XML法) ,比如:
如:<script>alert(qwert)</script>
2.伪协议法,比如:
如:< a herf=Javascript:arert(qwert)>123</a>
3.事件法,比如
如:</img src=# onerror=arert(1) />
onXXXX=XXXXX,表示事件.
onerror表示当加载错误的时候触发。前面的SRC表示图片的路径,随便给它个符号让它报错,然后执行后面的句子。
如果改成onload,就表示加载成功的时候执行。
on事件可以去百度搜。事件还有很多,其中渗透测试最常用的事件主要有:
onerror,onload,oninput,onfocus等等
如果出现弹窗,说明存在XSS
靶场:http://b-ref-xss-1s.lab.aqlab.cn/
先输入一个数据,看看会发生什么 输入qwert
在搜索框中输入一个数据,发现在url上出现了两个参数,keyword和submit
我们传递的数据出现在了url中,可能是get请求,看一下源码
oninput 是在输入框有输入内容时触发的事件,所以接下来在搜索框内输入内容进行测试
跳出这个页面提示,就是存在xss