1、原版漏洞分析
?* 管理目录下del.asp、save.asp来源未检查漏洞
Ce-Admin版管理目录为ce-admins,j111版和lc520版管理目录均为j111admins,52mt版为Admin_52mt,更多的是修改成Admin,一般可以通过提交http://target/admin_login.asp然后查看网页源文件得到管理目录。
由于del.asp和save.asp没有对来源进行检查,可以导致攻击者匿名就可以进行新闻以及新闻分类的删除,还可以非法进行新闻的添加、修改。
来看del.asp中删除分类功能的代码:

图1:删除分类部分代码
通过提交如下url可以删除id为15并且名称为“security”的分类:(新闻的分类名称可以在首页找到,分类ID则可以进行构造和枚举,一般是1-50之内的数字)
http://target/ce-admins/Del.asp?ID=15&Type=NewsClass&News_Class=security(url1)
另外,上述代码并没有对ID进行合法性验证,可以导致注入,但是因为不容易取得ID和分类名称之间的对应关系,所以很难被攻击者利用。通过分析,ID和分类名的对应只可以通过提交上述“url1”来确认,但是如果确认,这个分类也就被删除了,再者攻击者没有权限进行分类的添加,所以无法继续利用。
再看del.asp中删除新闻功能的代码:

图2:删除新闻部分代码
需要两个参数,一个是类型News,一个是生成的新闻页面文件名File_Name,type固定,而新闻的文件名file_name可以根据首页新闻的URL得到,所以通过提交如下url可以删除数据库中记录以及生成的html文件:
http://target/ce-admins/Del.asp?File_Name=20060309131700.html&Type=News
由于未进行来源的验证,本地构造表单可以进行新闻的添加和修改,来看这部分代码:

图3:新闻添加功能部分代码
需要4个参数,构造表单如下, Post地址为:http://target/ce-dmins/save.asp?Type=add

图4:构造的表单
对指定ID新闻的修改只需要将上述表单的post地址改为:
http://target/ce-admins/save.asp?Type=edit&ID=11
这里的ID可以在html新闻页面的源文件里找到:

图5:新闻 ID包含在生成的html文件
| PPPOE验证缺陷所带来的危害 | 03-21 | |
| Ce-Admin新闻发布系统漏洞分析 | 02-07 | |
| Discuz漏洞分析 | 11-28 | |
| 入侵检测PHP程序中的目录遍历漏洞 | 10-12 | |
| 主流入侵检测产品大比较 | 10-03 | |
| 一种新的带宽攻击方式(图) | 06-16 | |
| Javascript实现评估用户输入密码 | 05-30 | |
| 针锋相对:主要的反NIDS技术应用 | 05-22 | |
| dvbbs7.1sp1最新漏洞的研究和利用 | 05-13 | |
| IE mhtml redirection漏洞利用方 | 05-12 | |
| Php后门的隐藏技巧测试报告 | 05-11 | |
| McAfee IntruShield 2600入侵防护 | 05-09 | |