安全矩阵

 找回密码
 立即注册
搜索
查看: 2761|回复: 0

soap协议注入漏洞挖掘

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-12-19 14:51:02 | 显示全部楼层 |阅读模式
原文链接:soap协议注入漏洞挖掘

soap简介
    首先介绍webservice,webservice是一种跨平台,跨语言的规范,用于不同平台,不同语言间的交互。
webservice有三要素,分别为soap,wsdl和uddl
uddl用于提供发布和查询webservice方法wsdl是webservice服务描述语言,用于web服务说明,它是一个xml文档,用于说明一组soap消息如何访问接口.soap是简单对象访问协议,用于分布式环境的基于信息交换的同行协议,描述传递信息的格式和规范,它可以用于连接web服务和客户端之间的接口,是一个可以在不同操作系统上运行的不同语言编写的程序之间的传输通信协议,格式为xml,soap消息
soap协议又分为soap 1.1 和 soap 1.2 两个版本
soap1.1存在soapAction请求头

soap1.2不存在soapAction请求头

soap 1.2里用了action来代替,两者的wsdl文件也不同,体现在命名空间和定义service差别里,不过这些对注入没有影响。
soap的消息格式
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  3.   <soap:Body>
  4.     <GetHospitalsInfo xmlns="http://webservice.cmis.taiyang.com/">
  5.       <sZHPT_Code>string</sZHPT_Code>
  6.       <ObligateOne>string</ObligateOne>
  7.       <ObligateTwo>string</ObligateTwo>
  8.       <ObligateThree>string</ObligateThree>
  9.       <ObligateFour>string</ObligateFour>
  10.       <ObligateFive>string</ObligateFive>
  11.     </GetHospitalsInfo>
  12.   </soap:Body>
  13. </soap:Envelope>
复制代码


注:Envelope:用于把xml信息标记为soapBody:包含了请求和响应信息
其实这里我们主要关注的是body,body处包含了请求和响应信息,当body内数据可控时,就有可能存在注入
soap注入漏洞挖掘1)资产搜索
webserver是微软推出的soap的框架,其服务的后缀多为asmx,或者直接搜索?wsdl


2)sql注入漏洞挖掘
soap sql注入原理
    soap sql 注入就是攻击者修改发送的soap消息参数,达到发起SQL注入的效果,在服务提供端,soap信息被解析,参数在访问数据库前没有被检测,导致执行sql语句,造成sql注入
通过搜索引擎搜索出的资产,然后随便打开一个,可以看到其操作列表

查看其中一个功能请求和响应示例(尽量先找有数据交互功能)​​

此处传入皆为string

查看HTTP GET/POST请求和响应示例,手动传值测试存在注入(或者直接修改SOAP请求和响应示例数据包)

/inpatientRedeem.asmx/GetHospitalsInfo?sZHPT_Code=string&ObligateFive=1&ObligateFour=1&ObligateOne=1&ObligateThree=1&ObligateTwo=1&sZHPT_Code=TPxIz2vP%27;%20waitfor%20delay%20%270:0:6%27%20--%20

直接丢入sqlmap跑

如果懒一点的兄弟可以直接点击服务说明,跳转到wsdl

将此URL直接丢入awvs


3)命令注入漏洞挖掘
    命令注入是通常通过传递具有数据的命令以获得诸如目录结构,网站地图或甚至与web应用相关的敏感信息的攻击。注入请求

注入响应

4)XML 注入漏洞挖掘
    在XML注入类型的攻击中,SOAP消息的变形请求可以在数据库中进行更改,并对数据库造成严重损坏。
正常功能:创建用户函数在应用程序中创建新用户,这需要几个参数作为输入

XML请求
    响应将具有带有插入了用户名帐户的消息的return语句

XML响应
    在实际的XML注入中,代码的一部分被变形并与请求一起发送,使得代码将在另一侧执行,创建用户功能被添加有附加代码以利用服务。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-7-20 16:40 , Processed in 0.019639 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表