临近期末,在复习之余偶尔有些枯燥无味,遂想找点小系统审计波玩玩。这不,在某资源网上看到个云黑系统,就下载下来玩玩。
0x00前言
临近期末,在复习之余偶尔有些枯燥无味,遂想找点小系统审计波玩玩。
这不,在某资源网上看到个云黑系统,就下载下来玩玩。
不得不说,这个系统目前使用人数还不少
0x01正文
怎么安装就不交了,有手就行。直接步入正题
-
*index.php
<?php if($qq=$_POST['qq']) { $qq=$_POST['qq']; $row=$DB->get_row("SELECT * FROM black_list WHERE qq='$qq' limit 1"); echo '<label>查询信息:'.$qq.'</label><br>'; if($row) { echo ' <label>黑名单等级:</label> <font color="blue">'.$row['level'].'级</font><br> <label>黑名单时间:</label> <font color="blue">'.$row['date'].'</font><br> <label>黑名单原因:</label> <font color="blue">'.$row['note'].'</font><br> <label><font color="red">请停止任何交易!</font></label>'; ?>
不得不说,作者的安全意识还是有待提高的,好歹后台插入数据时候还用了daddslashes(),怎么前台反而打开家门。
首先if($qq=$_POST['qq']) { $qq=$_POST['qq']; $row=$DB->get_row("SELECT * FROM black_list WHERE qq='$qq' limit 1");
直接post数据代入查询由下列代码输出数据,所以说字符型注入 GET✔
然后if($row) { echo ' <label>黑名单等级:</label> <font color="blue">'.$row['level'].'级</font><br> <label>黑名单时间:</label> <font color="blue">'.$row['date'].'</font><br> <label>黑名单原因:</label> <font color="blue">'.$row['note'].'</font><br> <label><font color="red">请停止任何交易!</font></label>'; ?>
payload:-1'union select 1,2,user(),4,5#
然后呢、
echo '<label>查询信息:'.$qq.'</label><br>';
这串代码导致可以造成xss
- *query.php
这块其实跟刚才的代码差不多。唯一的区别就是需要先GET形式代入QQ参数,其他跟上文无差别
0x02修复方案
利用intval()函数,强制将输入数据化为整型
如图所示
- 本文作者: YanXia
- 本文来源: 奇安信攻防社区
- 原文链接: https://forum.butian.net/share/242
- 版权声明: 除特别声明外,本文各项权利归原文作者和发表平台所有。转载请注明出处!