• DVWA-Cross Site Request Forgery (CSRF)


    大部分网站都会要求用户登录后,使用相应的权限在网页中进行操作,比如发邮件、购物或者转账等都是基于特定用户权限的操作。浏览器会短期或长期地记住用户的登录信息,但是,如果这个登录信息被恶意利用呢?就有可能发生CSRF

    CSRF的英文全称为Cross Site Request Forgery,中文名称为“跨站请求伪造”,可以分为两部分来理解:跨站请求和请求伪造。跨站请求,指请求是跨不同站点的,也就是说,向合法服务器发送的请求是来自第三方站点的。通常,这些第三方站点的网址(链接)会植入正常的网页、邮件中,吸引用户去点击,用户点击这些恶意链接后就可能会发生CSRF攻击。因此,CSRF有时候也被称为“One Click Attack”,即“一次性点击攻击”。需要注意,虽然定义了“跨站”,但是本站依然也是可以发出恶意请求的。

    请求伪造,指用户的请求不是来自合法用户本人,而是他人恶意伪造的。大家在使用浏览器浏览网页的时候,使用的协议是HTTP/HTTPS。用户端与服务器端基于该协议进行数据的交互,使用“请求—响应”方式来实现Web应用的通信。如果用户端的请求被人恶意伪造,服务器是无法区分这个正常的请求是否真的来自合法用户本人,所以服务器只能对这个“表面”正常的请求进行正常响应,从而构成请求伪造。

    (通俗来说,存在CSRF漏洞时,当一个网站包含了A网站的请求,都能执行,因为cookie在浏览器里)

    CSRF攻击便是基于浏览器的Cookie机制来实现

    CSRF攻击原理

    CSRF是攻击者伪造合法用户的身份向合法网站发出请求,一般通过电子邮件发送短链接等形式,诱导受害者访问后发生。比如,合法用户通过浏览器登录自己的网银,这时用户收到一封电子邮件,便使用该浏览器又打开了邮件,并点击了其中的链接。该链接要求访问网银,攻击者就可以使用浏览器中存储的Cookie信息伪造合法用户的身份,从而进入网银,进行转账等操作。

    在进行CSRF攻击时,首先需要根据Web页的回显信息判断是否可能存在CSRF漏洞。如果可能存在,攻击者则构造恶意网页,诱导合法用户去点击访问。只要合法用户去点击访问了这个恶意网页,攻击者就直接使用浏览器中存储的合法用户身份,去执行恶意网页中规定的非法操作。

     初级

    新密码和旧密码都显示在url中,可以直接在url中修改密码。

    用户、登录后生成Cookie,这样,在新打开的窗口中输入访问同一网站的URL(URL参数中携带修改密码的参数),攻击者不需要重新登录验证,就能利用浏览器的Cookie自动识别用户admin身份,以成功修改用户admin的密码。

    在实际Web应用中,一般会将这个伪造用户身份修改密码的恶意链接发送给合法用户,吸引用户点击后实现CSRF攻击

    构造一个url,内容如下

     在dvwa登录状态下,打开新页面,访问这个url地址,这个文件里img的src属性就会把dvwa网站的密码给修改了。(跨域请求伪造,在新的url所在域,仍访问了dvwa的url,且成功了。)

    查看源代码发现 不管是获取新密码、对新密码进行逻辑处理,还是数据库中的数据更新&

  • 相关阅读:
    LeetCode-电话号码的字母组合(回溯)
    ROS1云课→07基础概念
    微信小程序主包和分包资源相互引用规则
    一些好用的系统、组件记录
    RocketMQ源码解析-topic创建机制
    【数据可视化】第四章—— 基于pandas的数据可视化(pandas数据结构)
    基于OpenAPI、freemarker动态生成swagger文档
    Java中数组的实际经典案例
    k3s 指南
    数据隐私重塑:Web3时代的隐私保护创新
  • 原文地址:https://blog.csdn.net/seanyang_/article/details/134066589