zoukankan      html  css  js  c++  java
  • 实验吧_程序逻辑问题(代码审计)&上传绕过

    一开始我先随便输入了几个账号名字进行测试,发现当输入的账号名为admin时会发生报错

    经过测试果然是一个注入点

    当拿到admin密码后发现根本没用,没办法另寻他路

    审查元素时发现提示index.txt,原来又是一个代码审计,这里把关键代码贴一下

     1 <?php
     2 
     3 
     4 if($_POST[user] && $_POST[pass]) {
     5     $conn = mysql_connect("********, "*****", "********");
     6     mysql_select_db("phpformysql") or die("Could not select database");
     7     if ($conn->connect_error) {
     8         die("Connection failed: " . mysql_error($conn));
     9 } 
    10 $user = $_POST[user];
    11 $pass = md5($_POST[pass]);
    12 
    13 $sql = "select pw from php where user='$user'";
    14 $query = mysql_query($sql);
    15 if (!$query) {
    16     printf("Error: %s
    ", mysql_error($conn));
    17     exit();
    18 }
    19 $row = mysql_fetch_array($query, MYSQL_ASSOC);
    20 //echo $row["pw"];
    21   
    22   if (($row[pw]) && (!strcasecmp($pass, $row[pw]))) {
    23     echo "<p>Logged in! Key:************** </p>";
    24 }
    25 else {
    26     echo("<p>Log in failure!</p>");
    27     
    28   }
    29   
    30   
    31 }
    32 
    33 ?>

    首先分析一下代码:post形式传入user与pass两个参数,接着将user放入数据库查询,返回数据库中user对应的pass的md5加密值,再将传入的pass进行md5加密并与返回的pass比较,若相同则输出flag。

    这里给一下strcasecmp()的说明

    这里的思路肯定就是user端的注入,用union select语句控制sql语句查询后返回的值,然后给pass赋给相同值就行,这里要注意pass给的应该是未经md5加密的,而user中是要返回加密过的值,给payload:

    user=admin' and 1=2 union select md5(1)%23&pass=1

    上传绕过

    这里主要的思路就是00截断,但00截断也有两种情况

    首先给出我第一次测试失败的情况,直接在传入的文件名中截断

    其实还有另外一种00截断,大家注意到抓到的包中有上传路径,我们可以直接在路径上进行截断,当在路径后加上1.php,filename给一个1.jpg,最后服务器最后就会认为你传入的文件名为1.php1.jpg,当在1.php后加上00截断,就可以把1.jpg给截断

  • 相关阅读:
    java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
    STS工具各版本下载网址
    SpringBoot访问不了JSP但却能进入后台
    springboot o.a.tomcat.util.scan.StandardJarScanner : Failed to scan [file:/D:/apache-maven-3.0.5[系统找不到指定路径]
    STS工具:mybayis连接oracle数据库
    springBoot怎样访问静态资源?+静态资源简介
    springboot注解
    8.12-14 df 、mkswap、swapon、swapoff、sync
    8.5-7 mkfs、dumpe2fs、resize2fs
    8.2-3 partprobe、tune2fs
  • 原文地址:https://www.cnblogs.com/Ragd0ll/p/8630233.html
Copyright © 2011-2022 走看看