170817 WarGames-Natas(15)

本文介绍了Natas游戏中第15关的挑战,该关卡的SQL注入比前一关更复杂。通过分析PHP代码,了解到只能通过构造SQL子句来爆破用户信息。作者使用GET方法的debug参数来显示SQL语句,并编写脚本逐个字符爆破users表中的username。在爆破过程中,注意到MySQL不区分大小写,因此使用ascii+substr函数结合递归函数来获取正确的username(natas16),最终通过同样的方法得到对应的password。
摘要由CSDN通过智能技术生成

1625-5 王子昂 总结《2017年8月17日》 【连续第319天总结】
A. WarGames-Natas
B.

Level 15

这关SQL注入明显比上一关难多了,PHP代码如下:

if(array_key_exists("username", $_REQUEST)) { 
    $link = mysql_connect('localhost', 'natas15', '<censored>'); 
    mysql_select_db('natas15', $link); 

    $query = "SELECT * from users where username=\"".$_REQUEST["username"]."\""; 
    if(array_key_exists("debug", $_GET)) { 
        echo "Executing query: $query<br>"; 
    } 

    $res = mysql_query($query, $link); 
    if($res) { 
    if(mysql_num_rows($res) > 0) { 
        echo "This user exists.<br>"; 
    } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值