WEB漏洞—CSRF及SSRF漏洞案例
CSRF:跨站请求伪造(Cross-site request forgery)CSRF是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。当用户访问含有恶意代码的网页时,会向指定正常网站发送非本人意愿的数据请求包(如转账给hack,向hack发送API等)如果此时用户恰好登录了该正常网站(也就是身份验证是正常的)就会执行该恶意代码的请求,从而造成CSRF。
#原理解释
---用户访问银行付款中,访问了黑客的站点的网页,网页获取了用户发送给银行的数据包
---黑客截取数据包,篡改信息,将付款转到自己的账户下
CSRF漏洞演示(pikachu)
#进入靶场
#修改个人信息并抓包,复制请求地址/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=321&phonenum=00000&add=321321&email=321&submit=submit
#在虚拟机里创建index.html,写入html脚本<script src='127.0.0.1/pikachu/vul/csrf/csrfget/csrf_get_edit.php?sex=321&phonenum=00000&add=321321&email=321&submit=submit'></script>
#用与进入靶场相同的浏览器访问虚拟机ip地址
#可以看到这里已经请求了地址,将手机号改为了0022200,但靶场却没有发生改变,这里也不知道是什么原因
#重新抓包利用Engagement tools-I Generate CSRF PoC,复制html
#保存在虚拟机index.html里
#再次访问虚拟机ip地址,可以看到靶场信息被修改,这里将手机号改成了18080555
CSRF 防御
#设置随机 Token(最有效)
---给数据包上一个编号,防止重复的数据包
---将数据包放出,再次修改抓包,发现数据包的token不同,注意:cookie中的phpsessid是一样的。
#检验 referer 来源
---请求时判断请求链接是否为当前管理员正在使用的页面(检测是否同源)
---管理员在编辑文章,黑客发来恶意的修改密码链接,因为修改密码页面管理员并没有在操作,所以攻击失败。
SSRF(服务端请求伪造)
1. 原理
---通过外网访问服务器(不能直接访问内网),进而获取到服务区所连接的内网的服务器的一些信息。
---可以对内网进行一些信息收集
---漏洞的主要原因是,在服务器上面访问远程上传,是可以访问到内网的上信息,而在外网访问不了
#以下代码是模拟存在SSRF漏洞的php脚本
各个协议调用探针:http,file,dict,ftp,gopher 等, 漏洞攻击:端口扫描,指纹识别,漏洞利用,内网探针等
#查看本地文件 file:///d:/x.txt
ssrf漏洞中的协议和版本的关系
---PHP支持的协议:http,https,file,ftp,php
__EOF__

本文链接:https://www.cnblogs.com/Zx0906/p/17574434.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!