Sqli-labs学习(七)

Less-21 基于错误的复杂的字符型Cookie注入

这道题属于cookie注入型,不必管账号密码,会回显在结果页面具体信息和base64加密后的cookie

所以我们需要构造好payload还要额外base64加密下再输入cookie

image-20220629200434091.png

先尝试admin'可以看到报错中有括号,说明为单引号+括号型注入

接着就可以像less-1里的一样一点点找,从order by开始尝试确定select对象数目,再确定database(),再确定数据库下所有表名(group_concat),再确定数据表下的所有字段名,最后根据字段找所有值

也可以报错注入,实战updatexml,可以看到爆出数据库名,payload:

-admin') and updatexml(1,concat('~',database(),'~'),1)#

image-20220629202407540.png

Less-22 基于错误的双引号字符型Cookie注入

同Less-21,需要将单引号改为双引号同时去掉括号

但是发现一个有趣的问题,使用base64加密后的字符串有的可能会出现+这个字符

image-20220629203551680.png

会导致注入cookie后乱码:

image-20220629203634989.png

发现稍加修改使加密后的base64字符串中去掉+就可以了

image-20220629203815112.png

image-20220629203917381.png

刚才想了下发现其实可以将+这个字符url化一下成%2b就好了(ASCII中+对应43,十六进制就是2b),试验结果正确

Less-23 基于错误的过滤注释的GET型

image-20220629235214775.png

看php代码可以发现来了个过滤注释符的代码,但是还是可以使用单引号闭合

image-20220629235402195.png

使用and语句和1='1'来闭合

image-20220629235747653.png

爆出数据库下的表名,接下来同Less-1

Less-24 二次排序注入(存储型注入)

查看登录login.php和创建新用户login_create.php中代码,都对输入的username、password等进行了转义,来防止sql注入,但是存入数据库会自动去掉用来转义的右斜杠,可以利用注册后取出用户名包含注入来爆库

image-20220630203818981.png

查看修改密码的php可以看到查询username时并没有转义,存在注入风险,可以利用

image-20220630213702421.png

首先假设我们不知道账号密码,先注册一个http://127.0.0.1/Less-24/logged-in.php,账号为<u>admin'#</u>,密码随意记住

数据库中数据如下:

image-20220630214907014.png

接着登录后修改密码为123456

image-20220630214823064.png

修改后数据库数据如下:

image-20220630215028311.png

原理是原来的

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

变为了

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

密码部分全被注释掉了,修改密码实际上修改了admin的而不是admin'#的,因此我们这时候就可以随意登录admin这个管理员的账号操作了,注入成功

Less-25 过滤or和and

这道题目相当于防止你or和and拼接注入,过滤掉所有含有and、or的词语,eg:想要获取查询的列数使用order by,结果or被过滤掉了

image-20220630220819836.png

绕过方法:oorr,这样去掉中间的or仍然有一个or,报错成功如下

image-20220630220936704.png

后面以此类推,同Less-1的联合注入,只不过双写or或and

image-20220630221133576.png

image-20220630221338368.png

同理还可以使用报错注入联合or【oorr】、and【aandnd】

Less-25a 过滤了or和and的盲注

因为是盲注,无法使用报错注入,所以采取联合注入就好了(注意是数字型)

最后修改:2022 年 06 月 30 日
如果觉得我的文章对你有用,请随意赞赏