湖湘杯-hxb2018-writeup

No pwn_No re_No_crypto

1、 code_check
解题思路、相关代码和Flag截图:
链接:http://47.107.107.94:49882/login.php
目录扫描得到list.php源码,发现id参数是一个加密的参数,通过解密过程解密为1hxb2018然后查询id=1的情况,并且返回结果。

对源码稍加改动,利用mcrypt_encrypt函数以及已知参数可以实现任意构造加密的sql语句,从而实现sql注入
在这里插入图片描述
湖湘杯-hxb2018-writeup_第1张图片

数据库为Root权限,可得出flag在notice2表中
湖湘杯-hxb2018-writeup_第2张图片

2、 xmeo
解题思路、相关代码和Flag截图:
python SSTI模板注入,任意命令执行:
构造payload:
{{''.__class__.__mro__.__getitem__(2).__subclasses__().pop(59).__init__.func_globals.linecache.os.popen('grep -r -n "hxb" /home').read()}}
湖湘杯-hxb2018-writeup_第3张图片

3、 readflag
file协议一顿乱读,发现读不到flag,只能通过读配置文件,发现apache2的配置文件存在并且可读,可以得到web服务目录:
湖湘杯-hxb2018-writeup_第4张图片
Web.php无法读取,直接读flag:
湖湘杯-hxb2018-writeup_第5张图片

4、 mynote
这题刚开始是非常规解,直接绕过图片限制传大马,然后得到flag:
湖湘杯-hxb2018-writeup_第6张图片
然而这flag是被人换了的,导致题目被禁。

常规解法:
抓包发现picture页面读取图片是通过请求头中cookie picture的值来读取的:
湖湘杯-hxb2018-writeup_第7张图片
同样可以构造payload:a:2:{i:0;s:15:"bypass-xiao.jpg";i:1;s:14:"../../flag.php";} 然后base64加密,发包进行反序列化从而读取flag.php
湖湘杯-hxb2018-writeup_第8张图片
将得到的base64图片内容解码得到flag:
湖湘杯-hxb2018-writeup_第9张图片

5、 Welcome
解题思路、相关代码和Flag截图:
签到题,关注公众号回复即可
湖湘杯-hxb2018-writeup_第10张图片

6、 Disk
解题思路、相关代码和Flag截图:
下载下来得到一个vmdk,直接放进FTK中查看。
湖湘杯-hxb2018-writeup_第11张图片
一开始看到四个flag.txt都是flag is not here.以为又是假flag。。后来发现别的办法行不同,再次观察FTK。
湖湘杯-hxb2018-writeup_第12张图片
发现四个flag的ads流是不一样的,复制下来得到一串二进制
0110011001101100011000010110011101111011001101000100010001010011010111110011000101101110010111110100010000110001011100110110101101111101
解得flag
湖湘杯-hxb2018-writeup_第13张图片
flag{4DS_1n_D1sk}

7、 Flow
解题思路、相关代码和Flag截图:
打开数据包,发现全是802.11协议,且能发现
湖湘杯-hxb2018-writeup_第14张图片
没有其它存在密码的可能性,那么开启aircrack-ng,使用kali自带的rockyou.txt字典爆破。
aircrack-ng ctf.pcap -w /usr/share/wordlists/rockyou.txt
湖湘杯-hxb2018-writeup_第15张图片

得到密钥,加载进wireshark中。
湖湘杯-hxb2018-writeup_第16张图片
可以发现多了很多新的流量。证明解密成功。直接导出http对象。
湖湘杯-hxb2018-writeup_第17张图片
flag{H4lf_1s_3n0ugh}

8、Hidden write
图片中有许多IDAT块,以及导致图片数据非正常结束的IEND文件尾标志。可以提取三张表面相同,但是数据不同的图片,对提取的第一张图片查看LSB低通道得到第一部分flag,第二张与第三张进行盲水印解密得到第三部分flag,加上原始图片最末尾的那串,就构成了完整的flag。

你可能感兴趣的:(CTF-WP)