可以看到 不是MVC架构 我们从index.php 看
开头 包含了一个common.php
存放的是一些函数
往下看 第一行 看到他判断了config.php 是判断有没有安装 然后安装了 又包含了一个config.php 文件 是数据库的文件
else require "config.php";
config.php 就是数据库配置文件
看到 $cfg的这一行 看他的作用是什么
$cfg=Dec($cfg);$pre=$cfg[“DB”][“pre”];
function Dec($s,$c=false){
$s=json_decode($s,true);
if(json_last_error())
die('{"msg":"Request JSON Parse Error."}');
return $c?Rpl($s):$s;}
就是将config.php的数据变为数组。
继续看index.php
$m=file_get_contents(“php://input”);
看到$m 参数 可以获取用户POST提交过来的数据
dec 函数咱们刚已经看了 就是把传出来的数据 转化为数组
比如{“abc”:123} 转换成 [“abc”=>123]
if($m["act"]!="index"
&&$m["act"]!="lgn") {
if($m["sid"]!=Qrs(Qry("Select Ak From ".$pre."admin Where Ao=1 And Ai=".$m["nid"]." And ID=".$m["uid"])))die('{"msg":"连接超时!"}');
当参数名 act 不是index 而且不是lgn 就执行SQL语句
我们去common.php看一下Qry 参数
可以看到 他们什么过滤都没有
这里就等于存在一个SQL注入了
(select//1//from//(select//sleep(5))x) 即可造成注入 如果你注不出来 尝试把语句echo 出来
有时候他可能没有数据 或者一些其他全局函数过滤了数据
往下走 又是一处SQL注入 咱们就不继续测他