第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示

1.CSRF漏洞概述及原理

TIP:
较为详细的解释:https://www.cnblogs.com/btgyoyo/p/6195897.html
较为详细的文章:https://blog.csdn.net/qq_36119192/article/details/82820115

CSRF是什么?怎么理解?
CSRF全称Cross-site request forgery,中文名为跨站请求伪造。简单的理解就是,攻击者盗用了你的身份,以并你的名义发送恶意请求,造成个人隐私泄露及财产安全。
CSRF如何攻击?
用户正常登陆网站然后网站返回cookie给用户,浏览器会保存cookie信息,在用户登陆的网站没有退出(或称cookie信息没有过期时)登陆了来自攻击者发送的恶意网站的链接,恶意网站提前准备好转账表单或者其它请求 ,将其隐藏然后把这些信息提交到用户登陆的网站,设置提交信息的按钮按钮为优惠卷等,引诱用户点击。在用户不了解的情况下,点击链接访问网站 ,此时浏览器会携带之前的cookie。该网站接受到cookie会认为时用户发出的请求(实际时恶意网站隐藏的请求),会做出相应的操作,导致用户受到损失。
CSRF攻击有何要求?
1.登录受信任网站A,并在本地生成Cookie
2.在不登出A的情况下,访问危险网站B
与XSS漏洞有何区别?

XSS漏洞的核心原理:XSS攻击的核心原理是:不需要你做任何的登录认证,它会通过合法的操作(例如url中输入、在评论框中输入),向你的页面注入恶意代码(例如js、hmtl代码块等)

和CSRF的比较一下,CSRF是借助用户的权限来完成攻击,而XSS是直接盗取用户权限实施攻击

如何确认存在一个CSRF漏洞?
1.对目标网站增删改的地方进行标记,并观察其逻辑,判断请求是否可以被伪造

–比如修改管理员账号时,并不需要验证旧密码,导致请求容易被伪造;

–比如对于敏感信息的修改并没有使用安全的token验证,导致请求容易被伪造;

2.确认凭证的有效期(这个问题会提高CSRF被利用的概率)

–虽然退出或者关闭了浏览器,但存在本地的cookie仍然有效,或者session并没有及时过期,导致CSRF攻击变的简单

2.通过CSRF进行地址修改

一、GET请求

首先进行登陆,修改一下个人信息,并到Brup Suite上进行抓包,将抓到的URL进行修改,再发送给攻击目标(由我自己扮演)
第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第1张图片
修改后的URL:http://127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=18626545453&add=SHANXI&email=vince%40pikachu.com&submit=submit 点击:
第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第2张图片
二、POST请求
首先进行登陆,修改一下个人信息,并到Brup Suite上进行抓包,POST请求下已经不能通过修改URL来借用用户权限,那么和反射型XSS(POST)的方法相同,需要自己做一个表单,再返回到提交页面来完成修改。

第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第3张图片

3.token是如何防止CSRF漏洞?

要抵御 CSRF,关键在于在请求中放入攻击者不能伪造的信息,且该信息不存在于 cookie 之中。故每次请求都可以加入一个随机码,且后台要对这个随机码进行验证。

在pikachu下做演示

和之前的方法一样,到Burp Suite中抓包找到URL,能看到其中多出了token值

第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第4张图片
为了查看token值是如何在后端生成后返回到前端,查看前端源代码。每一次点击“修改个人信息”就会生成一个token,而且在修改完后点击提交的token都不同,故这样攻击者就无法伪造登陆信息。

第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第5张图片
第一次刷新:
在这里插入图片描述
第二次刷新:

在这里插入图片描述
CSRF漏洞的防范措施总结(摘自课程内):
第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第6张图片

4.远程命令、代码执行漏洞原理

摘自pikachu平台:
第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第7张图片
演示一:exec"ping"
如果后台没有进行相关处理,那么输入payload:127.0.0.1 & ipconfig(视频里的ifconfig是用于linux系统下显示或配置网络设备)就会在Ping完127.0.0.1后继续执行ipconfig这一条系统命令。

第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第8张图片
演示二:exec:evel

对于eval函数不安全的原因:https://www.jianshu.com/p/22a95da381b5

如果后台对输入没有处理,那么我们输入一个php代码:phpinfo();,就会直接执行代码而不是返回正确的窗口
第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示_第9张图片

你可能感兴趣的:(第八周作业 1.CSRF漏洞概述及原理 2.通过CSRF进行地址修改 3.token是如何防止CSRF漏洞?4.远程命令、代码执行漏洞原理及演示)