首页 > 社交 > 科普中国

反混淆刷题平台 Web 第二题:js 混淆,动态 cookie

常驻编辑 科普中国 2022-11-11 猿人   爬虫   控制台   函数   提示   位置   参数   代码   未定义   程序   动态   内容   详细
IOU拜客生活常识网

IOU拜客生活常识网

这个函数在第 2689 行,再来看看对其进行了怎样的判断,跟进到 _0x2940ac 定义位置,在第 2698 行,是个正则表达式对象,控制台中打印后可知道表达式为:IOU拜客生活常识网

/w+ *() *{w+ *['|"].+['|"];? *}/
  • / ... /:正则表达式限制符,字面量写法,防转义,中间正则表达式部分若存在 d 不会将 d 的 当作转义字符
  • *():匹配零个或多个括号, 为转义字符
  • *{ 、*}:匹配前后大括号
  • w+:匹配一个或多个字母数字字符
  • .+:贪婪匹配任意字符
  • ['|"]:匹配单引号或者双引号
  • ;?:匹配零个或一个分号

所以匹配样式大致如下:XXX( ){ XXX ' XXX ' ;},并不匹配换行符、制表符、空格等,没格式化的代码会被压缩成一行,所以这里相当于格式化检测,由于一开始进行了格式化操作,因此判断结果为 false,从而进入了无限循环,导致程序崩溃,所以只需要将这部分内容压缩为一行即可,检验一下:IOU拜客生活常识网

IOU拜客生活常识网

没有格式化后打印出的结果为 true,即不会调用到 WxzuQr 对象,从而进入无限循环,修改后再次运行程序,结束了吗,当然没有,上个问题倒是解决了,又出现了以下报错:IOU拜客生活常识网

IOU拜客生活常识网

报错在第 3854 行,内容如下:IOU拜客生活常识网

_0x5500bb[$dbsm_0x42c3(QoLq0i, q0Oqqo) + 'ZI']

接着在浏览器中进行调试,在这一行上面打上 debugger;然后运行脚本,断住后打印分析一下:IOU拜客生活常识网

IOU拜客生活常识网

'ZI' 即 ‘ZI’,QoLq0i、q0Oqqo 为定值,因此问题出在 $dbsm_0x42c3 函数中,其实如果对 OB 混淆了解的话会知道这种混淆方式有一些特征,其一般由三部分组成:大数组、移位自执行函数、解密字符串函数,大数组我们之前已经找到了,就是 $dbsm_0x123c,而 $dbsm_0x42c3 是解密字符串函数,这里差了个移位自执行函数,缺东西自然结果会不对,需要找到将其补上,在第 23 行到第 93 行,夹在 $dbsm_0x123c$dbsm_0x42c3 之间,补完后运行程序,又到了熟悉的卡住,过了一会后报错:IOU拜客生活常识网

IOU拜客生活常识网

报错在第 27 行,放到浏览器中进行调试,还是在开头打上 debugger;运行后单步向下执行,点了几下熟悉的卡住,然后跳到第 24 行 for 循环处:IOU拜客生活常识网

IOU拜客生活常识网

右侧出现熟悉的警告提示,证明又进入到无限循环了,果不其然,过了一会浏览器页面就崩溃了:

相关阅读:

  • 华夏人类源头,是如何从“古猿”演变成原始文明的
  • 立秋,浅品秋语诗词
  • 浅浅地大胆地聊聊进化论
  • 潮牌速生速死,已收割不动“年轻韭菜”
  • 世界上第一个死亡的人,猿人(宗教说法中是亚当和夏娃)
  • 《铁血战士2》中的头骨是什么?他们还猎杀过什么?
  • 江苏南京江宁区九大旅游景点
  • 史前文明的遗迹?专家发现50万年前刻字的贝壳,至今还不清
  • 嘴巴突出像猿人?医生说:两种“突嘴”形成主要都与这块骨
  • 著名雕塑家刘若望:用热血唤醒消逝的生命
    • 网站地图 |
    • 声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不做权威认证,如若验证其真实性,请咨询相关权威专业人士。