文章来源|MS08067 内网安全知识星球
本文作者:非正常接触(Ms08067内网安全小组成员)
内网纵横四海 认准Ms08067
0x00 安装设置
AWVS安装docker版本:
docker pull secfa/docker-awvs
docker run -it -d -p 13443:3443 secfa/docker-awvs
每次执⾏扫描的时候,打开⽹⻚检查器:
浏览器会向域名`https://data.pendo.io`发送⼀⻓串信息,并在Referer中携带AWVS的IP地址。
0x01 定位原始代码
在docker中,定位传输信息的代码位置在
`/home/acunetix/.acunetix/v_201006145/ui/index.html`中,代码如下:
(function(apiKey){
(function(p,e,n,d,o){
var v,w,x,y,z;
o=p[d]=p[d]||{};
o._q=[];
v=['initialize','identify','updateOptions','pageLoad'];
for(w=0,x=v.length;w<x;++w)(function(m)
{
o[m]=o[m]||function(){o._q[m===v[0]?'unshift':'push']([ m].concat([].slice.call(arguments,0)));};
})(v[w]);
y=e.createElement(n);
y.async=!0;
y.src='https://cdn.pendo.io/agent/static/'+apiKey+'/pend o.js';
z=e.getElementsByTagName(n)[0];
z.parentNode.insertBefore(y,z);})(window,document,'script','pendo');
})('c3c5895e-585b-4bd7-4e19-6f51bab34f7a');
代码做了简单的混淆,还原之后:
y=document.createElement('script');
y.async=!0;
y.src='https://cdn.pendo.io/agent/static/c3c5895e-585b-4bd7-4e19-6 f51bab34f7a/pendo.js';
z=document.getElementsByTagName('script')[0]; 5 z.parentNode.insertBefore(y,z);
在就是在⻚⾯记载的时候插⼊:
<script src='https://cdn.pendo.io/agent/static/c3c5895e-585b-4bd7-4e19-6f51bab34f7a/pendo.js'> </script>
0x02 pendo.js
pendo.js ⽤于追踪⽤户在浏览器的交互⾏为,当⽤户产⽣有效点击⾏为时,pendo会从点击路径中提取⼀ 部分信息发送给服务器。
例如点击`<a>`链接时,pendo.js会将其中的href内容编码后发送...
⽽在使⽤awvs扫描时,扫描⽬标的内容和信息恰好保存在这些链接元素的参数中。
具体内容参考:pendo 开发者⽂档
0x03 缓解措施
如果想要避免被跟踪,可以采取两种办法:
1. 删除docker镜像中`index.html`的script内容
2. 将`pendo.io`加⼊⽹络访问⿊名单
扫描下方二维码加入星球学习
加入后会邀请你进入内部微信群,内部微信群永久有效!