sql-labs-less23|sql注入

前言:

很久没有更新了,本来刷完第一页的20关就打算sql注入之路到此为止了,但是去BUU做了一道sql注入的题瞬间就被打击了,于是就继续回来打怪,废话不多说,这一关又回到了亲切的GET传参,请看正文。

正文:

这次用的是谷歌浏览器,跟火狐一样,感觉在搜索框注入麻烦的话下载一个hackbar的插件就可以了。看图:
sql-labs-less23|sql注入
这一关是GET传参,下面用id=1’测试:
sql-labs-less23|sql注入
可以看到存在字符注入,经过测试发现不能使用#和–+注释,那就再加一个分号和前面的形成闭合:
sql-labs-less23|sql注入
and和or都可以,使用or的话为永真,接下来就开始进行常规的测试:
sql-labs-less23|sql注入
测试发现不能使用order by那就用union联合查询(这一关我没有看源码,一点一点试的),使用select测试字段的时候,当测试一个字段的时候报错回显有不同的列数,测试为3的时候正常回显:
sql-labs-less23|sql注入
前面的id值要为负值,具体原因参考前面的文章,这里的or 1='1为永真条件,会在第三字段回显为1,所以不能在第三字段注入,然而由于第一字段没有回显,所以只能在第二字段注入:
sql-labs-less23|sql注入
成功爆出数据库,后面的步骤就跟前面一样了。解题的方法不只这一种,我只是给一个参考,欢迎师傅指正讨论,加油!