「日志记录」关于宝塔Nginx防火墙代码记录插图

日志详情

开启宝塔Nginx防火墙后,会在网页中插入以下代码:

<script src="/Rxizm32rm3CPpyyW_fingerprint2daasdsaaa.js?id=*****"></script>
<script>
	var options={preprocessor:null,audio:{timeout:1000,excludeIOS11:true},fonts:{swfContainerId:'fingerprintjs2',swfPath:'flash/compiled/FontList.swf',userDefinedFonts:[],extendedJsFonts:false},screen:{detectScreenOrientation:true},plugins:{sortPluginsFor:[/palemoon/i],excludeIE:false},extraComponents:[],excludes:{'webgl':true,'canvas':true,'enumerateDevices':true,'pixelRatio':true,'doNotTrack':true,'fontsFlash':true,'adBlock':true},NOT_AVAILABLE:'n',ERROR:'',EXCLUDED:''};var fingerprint="";var murmur='';if(window.requestIdleCallback){requestIdleCallback(function(){Fingerprint2.get(options,function(components){var values=components.map(function(component){return component.value});murmur=Fingerprint2.x64hash128(values.join(''),31);sendWafValida()})})}else{setTimeout(function(){Fingerprint2.get(options,function(components){var values=components.map(function(component){return component.value});murmur=Fingerprint2.x64hash128(values.join(''),31);sendWafValida()})},500)};function sendWafValida(){var key='*****',value='*****',newWord='',newVal='';for(var i=0;i<murmur.length;i++){var _mur=String.fromCharCode(murmur.charAt(i).charCodeAt()-1);newWord+=_mur}for(var j=0;j<value.length;j++){var _val=String.fromCharCode(value.charAt(j).charCodeAt()+1);newVal+=_val};var url='/Rxizm32rm3CPpyyW_yanzheng_ip.php?type=*****&key='+key+'&value='+newVal+'&fingerprint='+newWord;var xhr=new XMLHttpRequest();xhr.open('post',url);xhr.onreadystatechange=function(){if(xhr.readyState===4&&xhr.status===200){setTimeout(function(){location.reload()},3000)}};xhr.send()};
</script>
  1. 首先,定义了一个名为 options 的对象,其中包含了一系列参数,用于配置指纹生成的各种选项。这些选项包括了预处理器、音频、字体、屏幕、插件、额外组件、排除项等等。
  2. 初始化了两个变量 fingerprintmurmur,初始值为空字符串。
  3. 使用了一个条件语句,检测浏览器是否支持 window.requestIdleCallback 方法,如果支持,则使用该方法进行异步操作;否则,使用 setTimeout 进行异步操作。在两种情况下,都调用了 Fingerprint2.get() 方法,生成浏览器指纹,并将结果传递给回调函数 sendWafValida()
  4. sendWafValida() 函数用于发送生成的浏览器指纹到指定的 URL。首先,对浏览器指纹和密钥进行简单的加密处理,然后构造请求的 URL。接着,使用 XMLHttpRequest 对象发送 POST 请求到该 URL。
  5. 当请求完成时,如果状态码为 200,会在 3 秒后重新加载页面。

其中包含了一些参数:

  • type: ****
  • key: 用于构造请求的密钥
  • value: 经过简单加密处理后的值
  • fingerprint: 经过处理后的浏览器指纹

这些参数将被发送到指定的服务器端脚本 /Rxizm32rm3CPpyyW_yanzheng_ip.php

验证方法

如果使用了宝塔面板并开启了防火墙,HOST+/Rxizm32rm3CPpyyW_yanzheng_ip.php 即可直接访问:

「日志记录」关于宝塔Nginx防火墙代码记录插图1

利用代码

您需要登录才能查看完整内容

已经登录?立即刷新

利用思路很多,由于会记录详细内容,所以可以考虑压测数据(个人观点仅供参考)