Webug第8关

打开第八关,标题是CSRF,还有就是管理员今晚10点上线。
点进去也是登录界面:


image.png

好像和上一题一样,尝试tom,123456登录。显示登录成功了:


image.png

点击修改密码,和上一题类似,不过没有旧密码框(不过上一题对旧密码也没有校验,有没有并没有差别):
image.png

url也和上一题的一样,先尝试更改密码:
image.png

提示更改成功,但是用新的密码登录却提示不能登录。
抓下包,再和上一题一样修改一下用户名尝试:


image.png

发现修改成功,但是还是登录不了.....想了一下提示,CSRF,百度看看,记录一下知识点:
概念:CSRF的全称是跨站点请求伪造(Cross-Site Request Forgery)。攻击者盗用你的身份,以你名义发送恶意请求,但这个请求对于服务器来说是合法的,但是完成了攻击者所期望的一个操作,比如以你的名义发送邮件,信息,盗取帐号,购买商品,虚拟货币转账等。(伪造出某些页面,诱导你去点击,这时候就像是你在操作这一切)

CSRF攻击原理及过程:
假设存在Web A为存在CSRF漏洞的网站,Web B为攻击者构建的恶意网站,User C为Web A网站的合法用户。
1.用户C打开浏览器,访问受信任网站A,输入用户名和密码请求登录网站A;
2.在用户信息通过验证后,网站A产生Cookie信息并返回给浏览器,此时用户C登录网站A成功,可以正常发送请求给网站A;
3.用户为退出网站A之前,在同一浏览器中,打开另一个页面访问网站B;
4.网站B接受到用户请求之后,返回一些攻击性的代码,并发出请求要求访问第三方站点A;
5.浏览器在接受这些攻击性代码后,根据网站B的请求,在用户不知情的情况下携带Cookie信息,向网站A发出请求。网站A并不知道该请求是B发起的,所以会根据用户C的Cookie信息以C的权限处理该请求,导致来自网站B的而已代码被执行。
一般情况下这些请求会失效,因为它需要从A的认证信息(Cookie,session),但如果是刚刚好访问到一些目标网站不久,认证信息还没有过期的话,就有可能完成攻击。比较广撒网....

CSRF的防御:
1.尽量使用post提交,不用get提交,post提交的数据不会被看到,而get的会,这样可能就是的get比较容易被做成CRSF攻击,不过现在的网站一般都是post提交的了吧....
2.将cookie设置为HttpOnly。根据原理,CRSF攻击很大程度上是利用了浏览器中的cookie,为了防止站内的XSS漏洞盗取cookie,需要在cookie中设置HttpOnly属性,这样通过程序(JavaScript脚本等)就无法读取到cookie信息,避免攻击者伪造cookie的情况出现。
3.增加token。由原理,可以得出:抵御CRSF攻击关键在于在请求中放入攻击者不能伪造的信息,并且该信息不存在于cookie中。开发者可以在HTTP请求中以参数的信息加入一个随机产生的token,并在服务器进行校验,如果不正确,就拒绝该请求。
4.通过Referer识别。在抓包的时候,有一个Referer字段,它记录了HTTP求情的来源地址。在通常情况下,访问一个安全受限的网站的请求都来自同一个网站,比如转账什么的,都是先访问官网,再在官网上进行操作。那么操作所提交的url必然是特定的Rerferer值,而通过第三方伪造的页面的Referer值不是原页面的Referer值,则服务器只需要通过这个进行判断是不是本人操作即可。(不过这个Rerferer也可以伪造......)

参考自:https://www.jianshu.com/p/67408d73c66d

https://blog.csdn.net/xiaoxinshuaiga/article/details/80766369

好了,说了那么多回到这道题.....
既然不太会,就参考下大佬的:https://www.cnblogs.com/PegasusLife/p/10886420.html

要使用到brupsuite中的CRSF工具,但是我在kali中看了一下,发现是Pro version only,就是专业版才有的.....付费使用emmmmm???可能先放一下。

思路大致如此:通过这个工具制造一个伪造页面,之后让网站的管理员点击,就可以更改密码了.....不过这个网站也没有管理员.....

你可能感兴趣的:(Webug第8关)