赞
踩
xss:将用户的输入当作前端代码执行
注入攻击的本质,是把用户输入的数据当做代码执行。
这里有两个关键条件:
第一个是用户能够控制输入
第二个是原本程序要执行的代码,拼接了用户输入的数据
XSS拼接的是网页的HTML代码,一般而言我们是可以拼接出合适的HTML代码去执行恶意的JS语句(总结:xss就是拼接恶意的HTML)
盗取Cookie(用的最频繁的)
获取内网ip
获取浏览器保存的明文密码
截取网页屏幕
网页上的键盘记录
反射型:你提交的数据成功的实现了XSS,但是仅仅是对你这次访问产生了影响,是非持久型攻击
存储型:你提交的数据成功的实现了XSS,存入了数据库,别人访问这个页面的时候就会自动触发
DOM型:基于dom对象的xss
一般是想办法让浏览器弹窗(alert) 最经典的弹窗语句
<script>alert(1)</script>
一般证明XSS是否存在,就是在正常页面传参然后构建参数让他弹窗就是存在XSS了
标签法:<script>alert(123)</script>
伪协议:<a href=javascript:alert(555)>555</a>
事件法:<a οnmοusemοve=alert(888)>8888</a>
一种不同与真实协议的协议,只有关联应用才可以用(例如:javascript:alert(1))
进行转义实体编码输出,加标签,正则匹配替换
onerror(加载错误时触发),onload(加载成功时触发),oninput(输入框输入时触发)
转义字符输出,用白名单验证、HTML实体化
用户可以控制输入,执行代码拼接用户输入数据
比如百度存在反射型XSS,然后你构建可以窃取Cookie的JS语句,然后传参点在URL那里,然后我们通过短链接将他变为短链接,然后发给想要获取别人信息的人。然后人家如果登陆状态访问了就会触发XSS
重灾区:评论区、留言区、个人信息、订单信息等
针对型:站内信、网页即时通讯、私信、意见反馈
存在风险:搜索框、当前目录、图片属性等
题目:
1.当我们输入<script>alert(1)</script> 发现没有出现弹窗
2.我们可以换别的方法:当我们输入伪协议的方法发现还是不行,那使用事件的方法试试
3.使用事件方法
常用的有 onerror、onload(成功加载执行)oninput (有输入框,输入的时候触发)
4.拿到flag
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。