转载声明:文章来源https://blog.csdn.net/m0_63100066/article/details/130252891
xss:前端代码注入
用户输入的数据被当作前端代码执行
1.窃取cookie
2.获取内网ip
3.获取浏览器保存的明文密码
3.截取网页屏幕
4.网页上的键盘记录
存储型、反射性、
xss利用javascript操纵浏览器
cookie注入:document.cookie
独去cookie,发送cookie
A网站B网站的界限是
同源:同域名、同端口、同协议
同源的cookie就可以互相调用
前端代码触发js的状态
1、
<script>alert(1)</script>
2、伪协议法:
<a href=javascript:alert(1) />1</a>
3、事件型:
<img src=# onerror=alert(1) />
onxxxx事件
#页面得有输出
#<input name=“keyword” value=“” οninput=alert(1)//">
检查代码和源码可能不同 单双引号闭合类
浏览器回对源码进行加工
' onput=alert(1)//
' onfocus=alert(1)// autofocus
反射性:可以使用短网址
偷cookie:
1、手写js代码去偷
2、利用xss平台偷(别人写好的js放在平台上随时可以用)
xss.pt
防止窃取cookie:http-only
1、csrf(做了xss,我们可以插入js语句,发送数据包去新建账号)
2、让页面显示cookie - (phpinfo)可以查看
探针(phpstudy)
(政府、军方、医疗、金融)
<iframe onload="alert(1)">//
错误日志存储型xss漏洞
错误日志:记录有人访问的时候遇到的错误
访问不存在的为你教案、不存在的地址
如果记录下来的时候,没有过滤。那么是否会存在xss
cms兼容性不太好:要放在根目录且80端口
默认账户:admin 密码:admin
DOM型xss
dom是一个js可以操纵浏览器和网页显示内容的接口
每个载入浏览器的html文档都会成为document的对象
document对象使我们可以从脚本中对html页面那种的元素进行访问
有些网站为了看起来更安全伪装成静态
lastModified 判断伪静态
经过js处理后触发的xss都可以认为是dom型
1、它有和后端交互吗?
2、纯静态页面
innerHTML