web学习(一)

极客大挑战学web(一)

前言

没错,喜欢混子的我来水博客了,前几天想水一篇整徽章的结果给忘了,害!!!

正文

话不多说,直接上做题记录

EZwww

打开题目
打开题目
发现了一只萌妹纸,好吧,言归正传,翻译了一下提示的,发现是我可以用post方式得到我想要的,然后我就post了好多东西没post出来个小老鼠,就拿出御剑扫了一下,发现了御剑扫描结果
那就直接打开下载zip文件,打开发现了一个flag文本文档
假的
不用想,肯定是假的,直接放弃这个,打开了一个index.php的文件,发现了源码部分

<html>
 <head>
  <title>Lola's website1.0</title>
 </head>
 <body>
 <?php echo '<h1>welcome to my website</h1>'; ?>
 <?php echo '<p>i will never forget to backup my website......</p>'; ?>
 <?php echo '<img src="img/lola.gif" alt="welcome~"/>'; ?>
 </body>
</html>
<?php
$key1 = $_POST['a'];
$key2 = base64_decode('c3ljbDB2ZXI=');
if($key1 === $key2)
{
    //this is a true flag
echo '<p>SYC{xxxxxxxxxxxxxxxxxx}</p>';
}
?>

所以就base64解码$key2 = base64_decode('c3ljbDB2ZXI=');
得到
解码
然后就post
得到flag

ctf.show_web5

打开题目,发现代码时PHP代码审计。
原题代码

<?php
        $flag="";
        $v1=$_GET['v1'];
        $v2=$_GET['v2'];
        if(isset($v1) && isset($v2)){
            if(!ctype_alpha($v1)){
                die("v1 error");
            }
            if(!is_numeric($v2)){
                die("v2 error");
            }
            if(md5($v1)==md5($v2)){
                echo $flag;
            }
        }else{
        
            echo "where is flag?";
        }
    ?>

然后先观察,发现代码表达的意思是字符串v1v2要一个是纯字符的字符串,一个是纯数字的字符串,然后两者的MD5加密过后的值还要相等。这在常理来看是不可能的。
但是仔细观察两者的比较形式,发现两者的判断相等是用==进行判断的,那么就给了我可操作的空间了。
因为在判断时字符串默认转化为数字进行比较。所以就可以令两者的MD5加密后的字符串进行数字转化后的值相等。所以最终payload为http://618ddab3-7d92-4d09-ab8a-91affc090305.chall.ctf.show/?v1=QNKCDZO&v2=240610708,别问我怎么得到这两个数的,问就是现成的。最后推荐一位大佬的博客

ctfshow web6

这个题目打开提示题目提示
所以猜测是sql注入,判断注入点,然后存在一个空格过滤,用/**/代替。然后别的就和一般的联合查询注入一样。得到flag

尾声

算了,博客就水这样吧,太菜了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值