sqli-labs第二十四关(二阶注入)

本文探讨了二阶SQL注入的概念,将其与存储型XSS进行类比,并通过sqli-labs第二十四关的案例分析了攻击过程。尽管login.php和login_create.php中的mysql_real_escape_string()函数提供了防护,但在pass_change.php中,由于从session获取的用户名未进行转义,攻击者可以创建'admin'#账号实现注入,绕过密码验证修改他人密码。
摘要由CSDN通过智能技术生成

进入第二十四关,这关叫二阶注入,二阶注入个人感觉和存储型xss有些类似,大致分为以下几步:

  1. 攻击者在HTTP请求中提交恶意代码(可以是sql,js脚本等)。

  2. 应用将输存储在数据库以便后面使用并响应请求。

  3. 攻击者提交其他请求。

  4. 为处理其他请求,应用会检索已经存储的输入并处理它,从而导致攻击者注入的恶意代码被执行。

先去看看源码:
在这里插入图片描述
login.php 中mysql_real_escape_string()函数可以转义 SQL 语句中使用的字符串中的特殊字符,无法注入
在这里插入图片描述
login_create.php中也都进行了转义,所以无法在创建时注入
在这里插入图片描述
突破口来了,在pass_change.php中发现uname用户名是从session获取,不会进行转义,于是可以先创建用户名为 admin’# 的账号将sql变为UPDATE users SET PASSWORD=‘pass’ where username=‘admin’ # ’ and password=‘curr_pa

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值