0×00 前言
SemCms是一套开源外贸企业网站管理系统,主要用于外贸企业,兼容IE、Firefox 等主流浏览器。SemCms使用vbscript语言编写,结合iis运行。采用国际通用utf-8编码编写。
SemCms非常适合在外贸企业,电子商务互联网应用上使用,2009年12月首次发布以来,SemCms依靠出色的用户体验和领先的技术不断扩大外贸场占有率,目前在国内已经成为最受欢迎的英文外贸网站之一。
0×01 往事
Semcms曾被多次爆出有重大漏洞,然后好像最近又爆出了最新版本漏洞。这里我用最新版本复现一下,顺便看看如何修改。
0×02 过程
这里在网上直接下载一套最新的代码,最新的代码版本为V2.3。
第一处注入位置是在后台的找回密码处,这里我的链接是如下图所示的
这里稍微有点困难的就是,这个后台的地址前四位是随机的,不过这里也不难拿到。
这里可以看到这里随机数只是取了26位,一共是四位只有26^4种可能,以现在计算机的运行速度很快就可以拿到。
然后我们就可以接触到这个注入点了。
这个功能对应的文件为web_mail.php这个文件,看一下代码这个漏洞是如何出现的
在这里可以看到判断是否为空的时候这里做了过滤,但是在下面SQL语句拼接的时候却又忘记了过滤,直接使用了接收到的内容做了拼接。
这里拿到数据包测试一下:
这里可以看到的确是可以注入的。这里我们发现可以直接构造语句,我们可以想到一个SQL直接写SHELL的神句。
构造以下的数据包:
然后直接来执行测试
执行完我们发现这里直接多处了一个文件,我们看一下这个文件的内容
这里面包含了我们在数据库中查询到的内容以及我们自定义写入的shell脚本,我们访问一下
这里可以看到,利用SQL注入可以直接得到shell。
修复方式:
这里我们对输入的字符串进行过滤,如下图所示的修改。
这里可以看到现在并识别不了了。
第二处注入在登陆时,这里对传递的cookie值过滤有漏洞,这个文件在funtion.php里面。首先看一下代码,这里只是直接对两个获取到的值进行了html实体转义。然后就直接拼接了。
这里我们对后台主界面直接进行请求,直接请求会显示账号密码错误。
然后我们在cookie加入以上两个字段。这里为了直观一些,我把SQL语句直接打印出来。
这里如果是你输入单引号,这里的语句是如下所示的
我们可以想办法将第一个参数后面的引号转义掉,然后再把最后的全部注释掉这样前面就变成了一个参数,这样就可以直接登陆成功了。
修复方式,这里我们对参数直接过滤掉所有的特殊字符
可以看到这里已经不能再直接登陆了。
希望使用该源码的站长第一时间修复掉这个漏洞。
猜你还喜欢
- 06-09深入理解JAVA反序列化漏洞
- 08-12cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 11-28CVE-2017-11882漏洞复现和利用
- 11-10利用Thinkphp 5缓存漏洞实现前台Getshell
- 08-04php安全代码审计小结
- 01-02PHPCMS后台”空降”管理员CSRF漏洞分析
- 01-02某CMS注入分析及注入点总结
- 11-30PHP 函数漏洞总结
- 11-30PHP渗透中的奇淫技巧--检查相等时的漏洞
- 11-15某开源框架从注入到Getshell
- 最新文章
- 随机文章
-
- 关于后渗透利器Koadic的思考
- iPhone锁屏却锁不住个人信息,iOS安全性真的很高吗?
- CVE-2017-11882漏洞复现和利用
- PHP渗透中的奇淫技巧--检查相等时的漏洞
- PHP 函数漏洞总结
- 过安全狗注入
- 浅谈PHP防注入
- 博客最近一个月遭受ddos攻击
- 某CMS注入分析及注入点总结
- PHPCMS后台”空降”管理员CSRF漏洞分析
- 两次前端绕过渗透小结
- 经验分享 | Burpsuite抓取非HTTP流量
- 批量检测SQL注入
- 开源安全情报引擎Critical Stack使用入门
- Apache Solr远程代码执行漏洞(CVE-2017-12629)从利用到入侵检测
- 任意用户密码重置(一):重置凭证泄漏
- 15岁男孩假扮成CIA官员黑掉高度敏感的信息
- 渗透测试向导之子域名枚举技术
- TinyShop缓存文件获取WebShell之0day
- ADB配置提权漏洞(CVE-2017-13212)原理与利用分析
- 热门文章
-
- 八年专业安全团队承接渗透入侵维护服务
- Emlog黑客站模板“Milw0rm”发布
- Stuxnet纪录片-零日 Zero.Days (2016)【中文字幕】
- SQLMAP的注入命令以及使用方法
- 白帽故事汇:网络安全战士从来不是「男生」的专利
- 编辑器漏洞手册
- web安全之如何全面发现系统后台
- 常见Web源码泄露总结
- 深入理解JAVA反序列化漏洞
- cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
- 网站后台登陆万能密码
- 黑麒麟2016渗透培训系列教程
- 破解emlog收费模板“Begin”
- 那些强悍的PHP一句话后门
- Android平台渗透测试套件zANTI v2.5发布(含详细说明)
- 渗透工具BackTrack与KaliLinux全套视频教程
- Python列为黑客应该学的四种编程语言之一 初学者该怎么学
- CVE-2017-11882漏洞复现和利用
- 恶意程序报告在线查询工具
- 利用Thinkphp 5缓存漏洞实现前台Getshell
- 文章标签
-