Skip to content

标题: WEB前端逆向随笔

创建: 2024-06-25 15:09 更新: 2024-06-27 08:35 链接: https://scz.617.cn/web/202406251509.txt

WEB前端逆向初学者的若干备忘。

不管用啥办法,得尽早设法F12调试,否则进展困难。

正常js不太可能用eval这类狗屎函数,Ctrl-Shift-F,全局搜索eval,命中的js都需 要手工检视。

有两类常见执行debugger的方案:

eval("debugger") Function("debugger")()

Hook相应函数,若其参数中有debugger,做针对性处理。这只是简单示例,见招拆招。


Q:

F12 Network面板过滤Fetch/XHR,Type列有fetch、xhr两种,啥区别?

A:

XHR是老技术,Fetch是基于Promise的新技术,使用起来比XHR更简洁。

F12 Network Fetch/XHR Initiator 调用栈回溯


据此可定位

h.send(c)


F12 Sources XHR/fetch Breakpoints


即XHR断点,据此可断在

h.send(c)

断下来时,可查看h,h是XMLHttpRequest对象,有不同的"event handler",比如


onerror onload onloadend onloadstart onreadystatechange ontimeout


不一定都设置有值,有值时对应"event handler",展开后有FunctionLocation,据 此可定位"event handler"。一般onload、onreadystatechange用于处理响应。


Event Listener Breakpoints XHR error load loadend loadstart readystatechange timeout


即XHR事件断点,重点关注load、readystatechange,据此可断在

h.onreadystatechange

即使js混淆过,前述众方法仍适用,不受混淆干扰。


Event Listener Breakpoints Script Script First Statement


每个