<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>CSRF on 首页 | Widegram</title>
    <link>https://widegram.com/categories/csrf/</link>
    <description>Recent content in CSRF on 首页 | Widegram</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Sun, 10 Oct 2021 19:51:26 +0000</lastBuildDate><atom:link href="https://widegram.com/categories/csrf/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>CSRF &amp; SSRF</title>
      <link>https://widegram.com/2021/10/CSRF-and-SSRF/</link>
      <pubDate>Sun, 10 Oct 2021 19:51:26 +0000</pubDate>
      
      <guid>https://widegram.com/2021/10/CSRF-and-SSRF/</guid>
      <description>CSRF 常见套路：安装同一套CMS，通过Burp抓到添加管理员的数据包。在管理员已登录的情况下点击一个网址，通过HTML的form配合JS提交请求。
防御 同源策略 检测来源是否同一域名（referer，仍然不安全） 加入token（或者加入验证码） 每一次请求都需要一个不同的token，如果csrf使用的是与之前同一个token，那么链接失效。 突破防御 token爆破 设计逻辑错误导致token可以重复利用 SSRF 主要产生在远程请求、代下载等场景。可以端口扫描、指纹识别、内网探针、漏洞利用等。
端口扫描 通过请求http://127.0.0.1:8081查看端口是否开放，若开放则回显中会产生数据。 与nmap相比，首先nmap可能扫不出来，其次在内网攻击中，某台计算机可能不联外网，只能通过内网扫描。如ftp://192.168.46.133:21 就能返回内网ftp目录；file:///D:/www.txt利用file协议请求文件内容；dict://探测mysql等等。 如果不知道IP地址，也可以进行爆破。 其他几个案例 </description>
      <content:encoded><![CDATA[<h2 id="csrf">CSRF</h2>
<p>常见套路：安装同一套CMS，通过Burp抓到添加管理员的数据包。在管理员已登录的情况下点击一个网址，通过HTML的form配合JS提交请求。</p>
<h3 id="防御">防御</h3>
<ol>
<li>同源策略
检测来源是否同一域名（referer，仍然不安全）</li>
<li>加入token（或者加入验证码）
每一次请求都需要一个不同的token，如果csrf使用的是与之前同一个token，那么链接失效。</li>
</ol>
<h3 id="突破防御">突破防御</h3>
<ol>
<li>token爆破</li>
<li>设计逻辑错误导致token可以重复利用</li>
</ol>
<h2 id="ssrf">SSRF</h2>
<p>主要产生在远程请求、代下载等场景。可以端口扫描、指纹识别、内网探针、漏洞利用等。</p>
<h3 id="端口扫描">端口扫描</h3>
<ol>
<li>通过请求<code>http://127.0.0.1:8081</code>查看端口是否开放，若开放则回显中会产生数据。</li>
<li>与nmap相比，首先nmap可能扫不出来，其次在内网攻击中，某台计算机可能不联外网，只能通过内网扫描。如<code>ftp://192.168.46.133:21</code> 就能返回内网ftp目录；<code>file:///D:/www.txt</code>利用file协议请求文件内容；<code>dict://</code>探测mysql等等。</li>
<li>如果不知道IP地址，也可以进行爆破。</li>
</ol>
<h3 id="其他几个案例">其他几个案例</h3>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
