【网络安全】如何使用ppmap检测和利用XSS漏洞

ppmap是一个基于Go编写的漏洞扫描器,专注于检测和利用XSS漏洞。它通过启发式扫描和已知Gadget指纹识别来查找安全问题。工具依赖于Chromium/Chrome和chromedp库。安装后,用户可以简单地通过命令行接口执行扫描,针对单个URL或批量扫描URL列表。博客提供了详细的工作流程、安装指南和使用示例。

关于ppmap

ppmap是一款基于Go开发的漏洞扫描器/漏洞利用工具,该工具能够通过在全局上下文中检查特定变量来扫描、检测和利用XSS漏洞。该工具目前只能利用已知Gadget(可能支持部分自定义开发的Gadget)中的安全问题,但不支持代码分析或任何高级的漏洞扫描/利用方式。

更多资料

工作流程

通过启发式扫描确定网站是否容易受攻击;

对已知小工具进行指纹识别(检查全局上下文中的特定变量);

显示最终的漏洞利用并准备执行XSS攻击;

工具依赖

首先,我们需要确保已经正确安装好了Chromium/Chrome:

sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
public async getRecipeDFISummary(){ // 获取config配置 const devices = this.getRecipeDFIDevices(); const devicesConditions = devices.map(device => `'${device}'`).join(', '); const capability = this.getRecipeDFICapability(); const capabilityConditions = capability.map(capabilityname => `'${capabilityname}'`).join(', '); const dfimachinegroup = this.getDFIMachineGroup(); const pivotlist = this.getPivotlist(dfimachinegroup); const machinelist = this.getMachinelist(dfimachinegroup); const sql = ` with t_test as( select * from ( SELECT t.sseq, t.cipe, t.machine, rtrim(t.inhabit) as inhabit,t.marktime from table t where t.capability in (${capabilityConditions}) and substr(t.machinename, 1, 6) in ('') and substr(t.product, 1, 4) in (${devices}) order by t.stepseq ) pivot(max(inhabit) for machinename in (${pivotlist})) ) select stepseq, recipe, ${machinelist}, marktime from t_test order by stepseq ` const rawresult = await this.ctx.service.oracleService.executeQuery( "", sql ); console.log("SQL: ", sql); const recipelist = rawresult.map(result => { const recipe = result['RECIPE']; return recipe; }) const recipeConditions = recipelist.map(recipe => `'${recipe}'`).join(', '); const pp_sql = ` select *from ( select t.recipe,t.pp,t.equip,t.current from table2 t where (t.recipe in (${recipeConditions}) or substr(t.recipe, 1, 4) in (${devicesConditions})) and substr(t.equip, 1, 6) in ('') ) pivot ( max (currentstate) for equip in (${pivotlist})) ` const ppidresult = await this.ctx.service.oracleService.executeQuery( "", pp_sql ); const RecipeDFI_processData = this.processRecipeDFIData(rawresult, ppidresult, dfimachinegroup); const RecipeDFI_result = this.getYescount(RecipeDFI_processData,dfimachinegroup); return RecipeDFI_result; }将第一段sql语句中的marktime值加到最终的结果
最新发布
11-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值