场景一:发卡网站
后台登录:admin/wuaishare.cn
- index.php的31行
include 'template/'.$tp.'/'.$action.".php";
有可能文件包含漏洞
- 我点击购买东西,还没付钱,抓到的数据包
|
|
我放行之后,点击支付
|
|
此时后台可以看到
- 发现ajax.php的42行
$out_trade_no = $_POST['out_trade_no'];
参数没有进行过滤
- 发现56行利用了
|
|
有可能出现sql注入
- 管理员通过admin/list.php (存储型XSS:可行)
看到订单号
136行发现$res['out_trade_no']直接从数据库取出,没有做任何过滤就放到了管理员面前
和上面漏洞结合,有可能出现xss盲打 (实测有长度限制) ,但是正常进行较短语句的XSS存储型注入是没有问题 的。
- admin/ajax.php (纵向越权:可行)
27行发现$pass = md5($pass.$password_hash);
发现密码加盐了,也就是在用户输入的密码后拼接一串字符串后再加密,因为开头引入了commom.php遂检查
发现common.php的34行$password_hash='!@#%!s!8#';
159行发现case 'upAdmin': 用来修改管理员密码
如果发送的case内容为upAdmin并且用户名admin密码为123456!@#%!s!8#并且进行md5,也就是f3b4e3b975e0484835e90514f8318e61
提交到admin/ajax.php,会直接越权修改管理员密码,遂尝试:
直接去访问/admin/ajax.php?act=upAdmin出现页面非法请求
因为
|
|
必须修改为POST包
在请求的header上加上
X-Requested-With:XMLHttpRequest
还需要加上
Content-Type: application/x-www-form-urlencoded
否则参数无法被识别的
建议使用Chrome版的Hackbar,附最终效果:

- 在
admin/clist.php发现文件上传 (文件上传:可行)
$imgs = upimgs($_FILES['img']);在24行
全局搜索upimgs函数
发现if/function.php的141行发现这个函数
发现文件上传路径../assets/goodsimg/
需要做mime检测
文件命名规则 当前时间.后缀名
拓展补充: 此处的时间指的是 Unix 时间戳,指的是从 1970年1月1日 00:00:00 UTC 到当前时刻所经过的秒数,可以使用这个工具计算:时间戳(Unix timestamp)转换工具
例如发送图片之前的时间1770099184
发送图片之后的时间1770099204
使用burp进行暴力破解文件名
场景二:非法杀猪盘网站
include/conn.php
24行define('MAGIC_QUOTES_GPC', get_magic_quotes_gpc());
|
|
前台登录的时候
|
|
member/post.php第5行
$ddh=trim($_GET['ddh']);
在32行的时候不做任何过滤直接就收录到sql语句中
有可能存在sql注入
构建一个满足这页面的情况
ddh=1&money=100&key=2052cd88bea3f9016a0057436dbbd750
|
|
管理员后台,账号管理的时候访问地址admin/admin.php
GET /admin/admin.php?clause=editinfo?id=2
发现调用119 function editinfo()
发现有全局变量global $db,$id,$LoginEdUserName;
并且id变量直接进入:
|
|
把这个get请求保存到文件
|
|