您好,登錄后才能下訂單哦!
公司部署了一個ecshop網站用于做網上商城使用,部署在阿里云服務器上,第二天收到阿里云控制臺發來的告警信息,發現ecshop網站目錄下文件sql注入漏洞以及程序漏洞
如下圖:
與技術溝通未果的情況下,網上查了點資料,對其文件進行修復,如下修改:
1,/admin/shopinfo.php修復方法
(大概在第53、71、105、123行,4個地方修復方式都一樣) admin_priv('shopinfo_manage'); 修改為 admin_priv('shopinfo_manage'); $_REQUEST['id'] =intval($_REQUEST['id']);
2,/admin/shophelp.php修復方法
(大概在第81、105、133、155行,4個地方修復方式都一樣) admin_priv('shophelp_manage'); 修改為 admin_priv('shophelp_manage'); $_POST['id'] =intval($_POST['id']);
3,/api/client/includes/lib_api.php漏洞修復方法
復制代碼
functionAPI_UserLogin($post)
{
/*添加 SQL注入過濾 */
if (get_magic_quotes_gpc())
{
$post['UserId'] = $post['UserId']
}
else
{
$post['UserId'] =addslashes($post['UserId']);
}
/* */
$post['username'] = isset($post['UserId'])? trim($post['UserId']) : '';
…….
4,\admin\edit_languages.php漏洞修復方法
// 修復前
$dst_items[$i]= $_POST[‘item_id‘][$i] .‘ = ‘. ‘"‘ .$_POST[‘item_content‘][$i].‘";‘;
// 修復后,由于想在單引號之間出現單引號,必須使用轉義。
$dst_items[$i]= $_POST[‘item_id‘][$i] .‘ = ‘. ‘\‘‘ .$_POST[‘item_content‘][$i]. ‘\‘;‘;
修復后,測試一下,是否還有漏洞。
5,/admin/affiliate_ck.php sql注入漏洞修復
get_affiliate_ck函數.
function get_affiliate_ck()226行
修復方案
對$_GET[‘auid’]強制轉換
if (isset($_GET['auid']))
{
$sqladd = ' AND a.user_id=' . intval($_GET['auid']);
}
6,/admin/comment_manage.php注入漏洞修復 336行
文件在/admin/comment_manage.php后臺sql注入漏洞。
/admin/comment_manage.php修復方法(大概在第336行)
$filter['sort_by'] =empty($_REQUEST['sort_by']) ? 'add_time' : trim($_REQUEST['sort_by']);
$filter['sort_order'] = empty($_REQUEST['sort_order']) ? 'DESC' :trim($_REQUEST['sort_order']);
修改為
$sort =array('comment_id','comment_rank','add_time','id_value','status');
$filter['sort_by'] = in_array($_REQUEST['sort_by'], $sort) ?trim($_REQUEST['sort_by']) : 'add_time';
$filter['sort_order'] = empty($_REQUEST['sort_order'])? 'DESC' : 'ASC';
7,/includes/modules/payment/alipay.phpSQL注入漏洞 116行
防御方法
/includes/modules/payment/alipay.php
functionrespond()
{
if (!empty($_POST))
{
foreach($_POST as $key => $data)
{
$_GET[$key] = $data;
}
}
$payment = get_payment($_GET['code']);
$seller_email =rawurldecode($_GET['seller_email']);
$order_sn = str_replace($_GET['subject'],'', $_GET['out_trade_no']);
/* 對$order_sn進行有效過濾 */
$order_sn = trim(addslashes($order_sn));
/* */
..
8,/includes/lib_insert.phpsql注入漏洞修復
ecshop的/includes/lib_insert.php文件中,對輸入參數未進行正確類型轉義,導致整型注入的發生。
139c139,140
+ $arr['num'] = intval($arr['num']);
+ $arr['id'] = intval($arr['id']);
267c268
---
270c271,272
+ $arr['id'] = intval($arr['id']);
+ $arr['type'] = addslashes($arr['type']);
308c310
---
+ $arr['id'] = intval($arr['id']);
修改后更新阿里云控制臺,提示已經修復,大功告成
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。