南邮ctf--Wp

10.15

1.pass check

$pass=@$_POST['pass'];
$pass1=***********;//被隐藏起来的密码
if(isset($pass))
{
if(@!strcmp($pass,$pass1)){
echo "flag:nctf{*}";
}else{
echo "the pass is wrong!";
}
}else{
echo "please input pass!";
}
?>

由源码可知,只要(!strcmp($pass,$pass1))条件成立就可得到flag。

strcmp()是用于比较字符串的函数

定义:

int strcmp ( string $str1 , string $str2 )
参数 str1第一个字符串。str2第二个字符串。
如果 str1 小于 str2 返回 < 0;
如果 str1 大于 str2 返回 > 0;
如果两者相等,返回 0。

因此尝试数组绕过,只要我们$_POST[‘pass’]是一个数组或者一个object即可,使用火狐插件hackbar 

得到flag

2.起名字真难

<?php
function noother_says_correct($number)
{
       $one = ord('1');
       $nine = ord('9');
       for ($i = 0; $i < strlen($number); $i++)
       {   
               $digit = ord($number{$i});
               if ( ($digit >= $one) && ($digit <= $nine) )
               {
                       return false;
               }
       }
          return $number == '54975581388';
}
$flag='*******';
if(noother_says_correct($_GET['key']))
   echo $flag;
else 
   echo 'access denied';
?>

分析代码,要让number == '54975581388’,并且number每个字符与’54975581388’都不同。只有换进制了 

if ( ($digit >= $one) && ($digit <= $nine) )//因为这段代码,所以只能为16进制

54975581388==0xccccccccc得到flag 

10.16

1.密码重置

这里题目要求的是重置admin,user1无法更改,在hackbar里使用了base64编码,故而这里将admin进行base编码再更改请求主体。得到flag。

2.伪装者

使用google插件Modify Headers伪造X-Forwarded-For:127.0.0.1访问即可。

10.17

1.bypass again

if (isset($_GET['a']) and isset($_GET['b'])) {
if ($_GET['a'] != $_GET['b'])
if (md5($_GET['a']) == md5($_GET['b']))
die('Flag: '.$flag);
else
print 'Wrong.';
}

$_GET可以接受数组但MD5
md5()不能处理数组结构的数据
利用此漏洞构造index.php?a[]=1&b[]=2

得到flag

2.headers

直接查看header头,flag在头里。。。。

ichunqiu

10.18

1.include

 <?php 
show_source(__FILE__);
if(isset($_REQUEST['path'])){
    include($_REQUEST['path']);
}else{
    include('phpinfo.php');
}

文件包含漏洞

并且phpinfo.php中allow_url_include处于开启状态,意味着直接能使php://input用包含post中的代码。

hackbar 不好使,手动bp传参

利用<?php echo system('ls');?> 查看目录下的文件,猜测是die345aae.php

利用php://filter协议读取文件

构造payload http://6cf5a978808b4b28ab66a78cc45d6f4229ed460e5f934bd6.game.ichunqiu.com/?path=php://filter/read=convert.base64-encode/resource=dle345aae.php

得到base64字符串,解码得到flag

2.find the flag

https://www.ichunqiu.com/writeup/detail/1355

10.19

bugku  1.zip伪加密   修改50 4B 01 02后的加密位,解压得到flag

             2.告诉你个秘密

636A56355279427363446C4A49454A7154534230526D6843

56445A31614342354E326C4B4946467A5769426961453067

16进制,将两个字符当一个字节。将两行的字符串转化一下。

r5yG lp9I BjM tFhB
T6uh y7iJ QsZ bhM 

看键盘,四个字母围着一个字母。

tongyuan

10.20

1.闪的好快

首先打开是一个动态的二维码,保存下来,然后在线动态gif图分帧网址:http://tu.sioe.cn/gj/fenjie/
扫出来一共是十八个不同的二维码,最后一张张在线二维码扫描,网址:http://jiema.wwei.cn/

扫出来的结果合在一起就是:SYC{F1aSh_so_f4sT}

2.never never give up

查看源代码,发现1p.html

<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript">
<!--


var Words ="%3Cscript%3Ewindow.location.href%3D%27http%3A//www.bugku.com%27%3B%3C/script%3E%20%0A%3C%21--JTIyJTNCaWYlMjglMjElMjRfR0VUJTVCJTI3aWQlMjclNUQlMjklMEElN0IlMEElMDloZWFkZXIlMjglMjdMb2NhdGlvbiUzQSUyMGhlbGxvLnBocCUzRmlkJTNEMSUyNyUyOSUzQiUwQSUwOWV4aXQlMjglMjklM0IlMEElN0QlMEElMjRpZCUzRCUyNF9HRVQlNUIlMjdpZCUyNyU1RCUzQiUwQSUyNGElM0QlMjRfR0VUJTVCJTI3YSUyNyU1RCUzQiUwQSUyNGIlM0QlMjRfR0VUJTVCJTI3YiUyNyU1RCUzQiUwQWlmJTI4c3RyaXBvcyUyOCUyNGElMkMlMjcuJTI3JTI5JTI5JTBBJTdCJTBBJTA5ZWNobyUyMCUyN25vJTIwbm8lMjBubyUyMG5vJTIwbm8lMjBubyUyMG5vJTI3JTNCJTBBJTA5cmV0dXJuJTIwJTNCJTBBJTdEJTBBJTI0ZGF0YSUyMCUzRCUyMEBmaWxlX2dldF9jb250ZW50cyUyOCUyNGElMkMlMjdyJTI3JTI5JTNCJTBBaWYlMjglMjRkYXRhJTNEJTNEJTIyYnVna3UlMjBpcyUyMGElMjBuaWNlJTIwcGxhdGVmb3JtJTIxJTIyJTIwYW5kJTIwJTI0aWQlM0QlM0QwJTIwYW5kJTIwc3RybGVuJTI4JTI0YiUyOSUzRTUlMjBhbmQlMjBlcmVnaSUyOCUyMjExMSUyMi5zdWJzdHIlMjglMjRiJTJDMCUyQzElMjklMkMlMjIxMTE0JTIyJTI5JTIwYW5kJTIwc3Vic3RyJTI4JTI0YiUyQzAlMkMxJTI5JTIxJTNENCUyOSUwQSU3QiUwQSUwOXJlcXVpcmUlMjglMjJmNGwyYTNnLnR4dCUyMiUyOSUzQiUwQSU3RCUwQWVsc2UlMEElN0IlMEElMDlwcmludCUyMCUyMm5ldmVyJTIwbmV2ZXIlMjBuZXZlciUyMGdpdmUlMjB1cCUyMCUyMSUyMSUyMSUyMiUzQiUwQSU3RCUwQSUwQSUwQSUzRiUzRQ%3D%3D--%3E" 
function OutWord()
{
var NewWords;
NewWords = unescape(Words);
document.write(NewWords);
} 
OutWord();
// -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

解码Words发现一个f4l2a3g.txt文件

";if(!$_GET['id'])
{
	header('Location: hello.php?id=1');
	exit();
}
$id=$_GET['id'];
$a=$_GET['a'];
$b=$_GET['b'];
if(stripos($a,'.'))
{
	echo 'no no no no no no no';
	return ;
}
$data = @file_get_contents($a,'r');
if($data=="bugku is a nice plateform!" and $id==0 and strlen($b)>5 and eregi("111".substr($b,0,1),"1114") and substr($b,0,1)!=4)
{
	require("f4l2a3g.txt");
}
else
{
	print "never never never give up !!!";
}


?>

打开,发现flag

猜你喜欢

转载自blog.csdn.net/qq_40657585/article/details/83116412
今日推荐