Kali linux 学习笔记(五十五)Web渗透——CSRF 2020.3.31

本文详细介绍了CSRF(跨站请求伪造)的概念,对比了它与XSS的区别,并探讨了其利用条件、漏洞检测方法以及防范措施。在Kali Linux环境下,通过DVWA(Damn Vulnerable Web Application)的Low、Medium、High不同安全级别,展示了如何生成PoC文件并模拟攻击,以修改已认证用户的密码。
摘要由CSDN通过智能技术生成

前言

CSRF
cross-site request forgery

与XSS相比
XSS:利用用户对站点的信任,攻击者通过注入程序来修改网站来使用户浏览器被重定向等
CSRF:利用站点对已经身份认证的用户的信任,攻击者伪造一个链接误导用户点击链接来使用用户的身份认证来访问服务器

1、简介

功能

  • 结合社工在身份认证会话过程中实现供给
  • 修改账号密码、个人信息(email、收货地址)
  • 发送伪造的业务请求(网银、购物、投票)
  • 关注他人社交账号、推送博文
  • 在用户非自愿、不知情的情况下提交请求

业务逻辑漏洞

  • 服务器对关键操作缺少确认机制
  • 自动扫描程序无法发现此漏洞

漏洞利用条件

  • 被害用户已经完成身份认证
  • 新请求的提交不需要重新身份认证或确认机制
  • 攻击者必须了解 Web APP 请求的参数构造
  • 诱使用户触发攻击的指令(社工)

自动扫描程序的检测方法

  • 在请求和响应过程中检查是否存在 anti-CSRF token 名
  • 检查服务器是否验证 anti-CSRF token 的名值
  • 检查 token 中可编辑的字符串
  • 检查 referrer 头是否可以伪造

对策

  • captcha
  • anti-CSRF token
  • referer 头
  • 降低会话超时时间

2、漏洞利用

新的修改密码请求不需要输入原密码
攻击者修改服务器 URL 地址,诱导用户点击修改密码

http://192.168.1.115/dvwa/vulnerabilities/csrf/?password_new=aaaaaaaa&password_conf=aaaaaaaa&Change=Change
# 放在 kali 本机,kali 模拟访问

普通用户在正常登陆 dvwa 的时候,点击此链接
被攻击者的密码被修改
攻击者可以使用新的密码进行登录

生成 PoC 文件

如图所示
在这里插入图片描述
把html内容copy下来放入/var/www/html
修改value,使得被攻击者点击链接后密码被修改
将 URL 保存至文件诱导用户访问

3、服务器源码

dvwa Low 安全级别

<?php        
    if (isset($_GET['Change'])) {
    
        // Turn requests into variables 
        $pass_new = $_GET['password_new']; 
        $pass_conf = $_GET['password_conf']; 
        if (($pass_new == $pass_conf)){
    
            $pass_new = mysql_real_escape_string(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值