第二周代码审计Bugku

web16:

题目: ![](https://i-blog.csdnimg.cn/blog_migrate/7ee7227e4582d669118122047bd6fce7.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3BsYW50MTIzNA==,size_5,color_FFFFFF,t_7#pic_center)

题目说备份是个好习惯,因此网页链接存在备份
进入网页发现MD5码:
在这里插入图片描述进行MD5解码发现是NULL,为MD5码
通过御剑进行后台扫描发现:

在这里插入图片描述
存在备份文件:http://114.67.246.176:10434/index.php.bak
访问得到记事本内容:

<?php
/**
* Created by PhpStorm.
* User: Norse
* Date: 2017/8/6
* Time: 20:22
*/
include_once "flag.php"; 存在一个flag.php文件
ini_set("display_errors", 0); 配置选项
$str = strstr($_SERVER['REQUEST_URI'], '?'); 进行get请求
$str = substr($str,1); 截取$str中1号位
$str = str_replace('key','',$str);
parse_str($str); 将$str中的值给$key并且去除头部两个字符相同和尾部一个字符相同
echo md5($key1); 输出$key1

echo md5($key2); 输出$key2
if(md5($key1) == md5($key2) && $key1 !== $key2){ 如果md5($key1) == md5($key2) 并且 $key1 不等于$key2,就输出$flag
echo $flag."取得flag";
}
?>

由题目可知这是一个MD5的绕过:
方法一:利用数组,数组返回的MD5值都相同
即 key1[]=ladla 的MD5与 key2[]=kdflal 的MD5值相同:
则如图:
在这里插入图片描述
得到flag

方法二:利用0e开头的MD5值为科学计数法0**12=0,
可以找出这些相等的值:

0e731198061491163073197128363787
s1502113478a
0e861580163291561247404381396064
s1836677006a
0e481036490867661113260034900752
s1091221200a
0e940624217856561557816327384675
s155964671a
0e342768416822451524974117254469
s1502113478a
0e861580163291561247404381396064
s155964671a
0e342768416822451524974117254469

等等,随便用两个进行绕过
如图:
在这里插入图片描述
得到flag


web24:

题目要求:

在这里插入图片描述
进入题目网页查看原代码发现一个链接:
在这里插入图片描述
点击链接得到php源码:



<?php
if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){
#进行变量设置
    $v1 = $_GET['v1'];
    $v2 = $_GET['v2'];
    $v3 = $_GET['v3'];
    if($v1 != $v2 && md5($v1) == md5($v2)){#V1值要与V2值不同,且MD5值相同
        if(!strcmp($v3, $flag)){#进行二进制安全比较,值不同输出flag
            echo $flag;
        }
    }
}
?>
思路:
考察了PHP弱类型,利用数组绕过
利用get进行请求:/?v1[]=blzdkn&v2[]=kkml7&v3[]=a;z
得到flag:flag{817641a0c719a277753f2de2ef6866b7}

web27:

由题目的到源码:
在这里插入图片描述
解析源码:知道需要GET一个a使a不等于QNKCDZO但MD5值相同
做题方法:
对QNKCDZO进行MD5加密得到:
在这里插入图片描述

发现有0e开头的MD5码,则用0e来绕过,
找一组MD5开头为0e的字符串来绕过:
得到flag:
在这里插入图片描述
flag{5f017f46a2b13e0b829d46114e0a61a9}


web29:

题目:
在这里插入图片描述源码解析:
进行GET请求id和uname,和进行post请求一个passwd时,当id等于margin并且passw与uname的sha1值相同时,输出flag

根据题目要求知道是sha1绕过:
sha1函数存在漏洞,当传入的是数组时,会报错,返回为NULL,当传入的两个参数都是数组直接相等,所以利用数组绕过
在这里插入图片描述
得到flag:
在这里插入图片描述

flag{041154bc063524a9b5acb610d5a3a0b1}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值