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了