sqli-labs (less23-less24)

less 23

报错注入&过滤注释符

这关后台查询语句是select xxx form xxx where id='$_GET['id']' limit 0,1

讲道理其实跟之前的差不多的,只是对--,#这些注释的符号进行了过滤

所以最后的payload就是

?id=-1' or extractvalue(1,concat('~',(select schema_name from information_schema.schemata limit 4,1),'~')) or '1'='1

id=-1搜不到,自然就会把报错函数执行的东西放上去了

less 24

二阶注入

这关其实跟17年的强网杯的题很像,但是有点不同的是这里的数据库限制了长度

一开始小肉鸡注册了一个用户名为1‘ and extractvalue(1,concat('~',database()))#的账号,然后登录的时候就可以看到报错回显

然鹅...........什么都没有

去数据库看了一下,发现由于长度的限制,只写进去了前面的一部分

emmmm,换个思路,改密码提权

注册一个admin#的用户,然后登进去改密码,结果网页居然回显you silly hacker?!

神奇,后来想了想可能是没有闭合单引号,注册多一个新的账号,用户名是admin'#,密码111

登进去改密码,改成111,这个时候就可以发现,admin的密码已经变成了111了

 

你可能感兴趣的:(sqli-labs)