CTF_WP_UPLOAD2
This commit is contained in:
parent
fca6e65eb7
commit
e59ed31afe
@ -34,7 +34,7 @@ cv
|
||||
|
||||
最后一个的hex就直接是了
|
||||
|
||||

|
||||

|
||||
|
||||
5.我图图呢
|
||||
|
||||
@ -42,17 +42,17 @@ cv
|
||||
|
||||
另一端是编码最后地方
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
6.easyzip
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
6.Are you a JPG master?
|
||||
|
||||
@ -64,13 +64,13 @@ cv
|
||||
|
||||
然后寻找工具
|
||||
|
||||
<img src=".\Img\JPG.png" alt="JPG" style="zoom:50%;" />
|
||||
<img src="./Img/JPG.png" alt="JPG" style="zoom:50%;" />
|
||||
|
||||
找到了
|
||||
|
||||
剥离水印。获得第一次zip密码
|
||||
|
||||

|
||||

|
||||
|
||||
然后level2
|
||||
|
||||
@ -100,7 +100,7 @@ binwalk -e。。。。。。。。。。
|
||||
|
||||
于是使用Stegsolve查看图片细节
|
||||
|
||||
发现大量奇怪色块判断是`steghide`
|
||||
发现大量奇怪色块判断是`steghide`
|
||||
|
||||
着手编写脚本
|
||||
|
||||
@ -141,15 +141,15 @@ if __name__ == '__main__':
|
||||
|
||||
成功获得flag
|
||||
|
||||

|
||||

|
||||
|
||||
7.mermory
|
||||
|
||||
kali里下好vol然后内存分析,在浏览器记录里发现了secret.png和part3
|
||||
kali里下好vol然后内存分析,在浏览器记录里发现了secret.png和part3
|
||||
|
||||
然后把secret.png导出获得头
|
||||
|
||||
在剪切板记录里获得part2
|
||||
在剪切板记录里获得part2
|
||||
|
||||
最后结合头部中部尾部得到flag
|
||||
|
||||
@ -159,7 +159,7 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
根据hint提示这个密码和五月天有关(u1s1它这个误导非常大,因为hint说key是歌手名首字母大写可问题是解出来的key是Mayday二Mayday是五月天这个乐队的名字,五月天是乐队而不是歌手,真的奇了怪了
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
@ -167,17 +167,17 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
1.real1ty的小秘密
|
||||
|
||||

|
||||

|
||||
|
||||
凯撒密码,试几下就出了
|
||||
|
||||

|
||||

|
||||
|
||||
2.我解md5真的假的
|
||||
|
||||
一个一个解就行直接用给的那个网站就行
|
||||
|
||||

|
||||

|
||||
|
||||
注意第4个,给的那个网站我没查到,所有只能硬算
|
||||
|
||||
@ -187,7 +187,7 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
@ -199,7 +199,7 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
|
||||
|
||||
@ -213,7 +213,7 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
那我多跑几遍直到redrock出现就行了
|
||||
|
||||

|
||||

|
||||
|
||||
5.What is RSA
|
||||
|
||||
@ -221,7 +221,7 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
把参数填了就出了
|
||||
|
||||

|
||||

|
||||
|
||||
6.e这么小吗
|
||||
|
||||
@ -237,9 +237,9 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
根据这个思路
|
||||
|
||||
(因为这道题给我发的数字都是10进制所有我需要先改一下代码再获得10进制解密数字后转16进制然后转字符串)
|
||||
(因为这道题给我发的数字都是10进制所有我需要先改一下代码再获得10进制解密数字后转16进制然后转字符串)
|
||||
|
||||
结果图:
|
||||
结果图:
|
||||
|
||||
7.rel1ty的大秘密
|
||||
|
||||
@ -247,13 +247,13 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
但是总的来说还是很简单
|
||||
|
||||
写3个程序分别用于解base16 32 64编码
|
||||
写3个程序分别用于解base16 32 64编码
|
||||
|
||||
然后来回套,看那个可以继续套下去
|
||||
|
||||
直到出现一个很像flag的东西
|
||||
|
||||

|
||||

|
||||
|
||||
然后猜测royk与rock处是交换点
|
||||
|
||||
@ -271,7 +271,7 @@ SilentEye隐写,把音频导入然后解密就行
|
||||
|
||||
然后提交
|
||||
|
||||

|
||||

|
||||
|
||||
8.real1ty的中秘密
|
||||
|
||||
@ -323,7 +323,7 @@ pwn
|
||||
|
||||
ida打开 输入-1 开启后门
|
||||
|
||||

|
||||

|
||||
|
||||
故 -1
|
||||
|
||||
@ -331,7 +331,7 @@ flag get
|
||||
|
||||
2. real login
|
||||
3. 依旧签到
|
||||
4. 
|
||||
4. 
|
||||
|
||||
nc 连上
|
||||
|
||||
@ -345,9 +345,9 @@ nc 连上
|
||||
|
||||
这道题应该是个内存泄漏题
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
要buf=v2那就看怎么填充得到v2了呗,然后就看buf到r的空间大小0x191个,然后就这么填充A占位
|
||||
|
||||
@ -361,7 +361,7 @@ nc 连上
|
||||
|
||||
这个就是做脚本自动计算
|
||||
|
||||

|
||||

|
||||
|
||||
然后就行了
|
||||
|
||||
@ -369,13 +369,13 @@ nc 连上
|
||||
|
||||
newstarctf 第一周的一个pwn题一样的过程
|
||||
|
||||

|
||||

|
||||
|
||||
使nbytes_4的数据溢出到nbytes
|
||||
|
||||
|
||||
|
||||

|
||||

|
||||
|
||||
把得到的payload输进窗口就完成了
|
||||
|
||||
@ -391,19 +391,19 @@ newstarctf 第一周的一个pwn题一样的过程
|
||||
|
||||
最后知道了方法
|
||||
|
||||
先是填充
|
||||
先是填充
|
||||
|
||||
使buf刚刚溢出
|
||||
|
||||

|
||||

|
||||
|
||||
0x50+0x08生成个A
|
||||
|
||||
然后是加上backdoor的地址
|
||||
然后是加上backdoor的地址
|
||||
|
||||
启动脚本
|
||||
|
||||

|
||||

|
||||
|
||||
成功获得flag
|
||||
|
||||
@ -413,11 +413,11 @@ web
|
||||
|
||||
score控制台改10000就行
|
||||
|
||||

|
||||

|
||||
|
||||
2.这是真签到
|
||||
|
||||
进去翻翻源码
|
||||
进去翻翻源码
|
||||
|
||||
得到flag
|
||||
|
||||
@ -427,13 +427,13 @@ newstarctf中的智械危机类似
|
||||
|
||||
看robots.txt这是一个协议关于爬虫相关的
|
||||
|
||||

|
||||

|
||||
|
||||
然后先看hint知道/flag下的字符串是flag的每个字符填充7个随机字符得到
|
||||
|
||||
所以写个脚本就得到flag了
|
||||
|
||||

|
||||

|
||||
|
||||
4.留言板
|
||||
|
||||
@ -449,9 +449,9 @@ python版sql注入
|
||||
|
||||
所以写的时候现在前面加一个‘+f’就可在{}里执行任意命令,注意到它有限长,而且和‘’的数量.的数量有关,所以废了下功夫构造出一个函数得到flag
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
5.肚子饿了
|
||||
|
||||
@ -469,7 +469,7 @@ python版sql注入
|
||||
|
||||
但是问题最大的是如何找到这个判断通过长时间的分析发现and和union不能用,位置还是在尴尬的order by 后面 并且order by 后面已经有了一个值(在这里命名为x)。所以唯一的出路是想办法让那个by后面的值入手,发现if(e1,e2,e3)这个sql语句中e1是判别式如果正确那么就会返回e2如果错误那么就会返回e3。这就是一个很好的触发点。此时如果找到一个运算符让x与这个if出来的值进行计算可以改变表的顺序就大功告成。
|
||||
|
||||
经过尝试。最后发现如果在?type=处填写>>IF((判别式),2,1)就可以做到上条件。然后就开始着手写脚本
|
||||
经过尝试。最后发现如果在?type=处填写>>IF((判别式),2,1)就可以做到上条件。然后就开始着手写脚本
|
||||
|
||||
```
|
||||
import requests
|
||||
@ -513,21 +513,21 @@ print("Result:", result)
|
||||
|
||||
然后就是用二分法查值最后得出flag
|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||

|
||||

|
||||
|
||||
6.简简单单upload
|
||||
|
||||
进去首先审计代码
|
||||
进去首先审计代码
|
||||
|
||||
发先了它得上传逻辑,就是说它会将源文件改名并上传道upload得目录下,
|
||||
|
||||
改名逻辑是时间戳+_+原名
|
||||
|
||||
所以通过上传文件时的回显获得服务器时间
|
||||
所以通过上传文件时的回显获得服务器时间
|
||||
|
||||
然后写一个脚本换算时间戳
|
||||
|
||||
@ -548,13 +548,13 @@ print("时间戳:", timestamp)
|
||||
|
||||
于是上传一个一句话用蚁剑连接它
|
||||
|
||||

|
||||

|
||||
|
||||
连接后查看根目录
|
||||
|
||||
发现flag就在哪儿
|
||||
|
||||

|
||||

|
||||
|
||||
但是打开是空白。发现是权限问题
|
||||
|
||||
@ -562,7 +562,7 @@ print("时间戳:", timestamp)
|
||||
|
||||
结果shell都无法使用
|
||||
|
||||

|
||||

|
||||
|
||||
查阅资料,是php设置了disable_function
|
||||
|
||||
@ -572,7 +572,7 @@ print("时间戳:", timestamp)
|
||||
|
||||
发现可以用蚁剑插件绕过
|
||||
|
||||

|
||||

|
||||
|
||||
成功绕过
|
||||
|
||||
@ -601,11 +601,11 @@ find / -user root -perm -4000 -print 2>/dev/null
|
||||
|
||||
一番尝试下
|
||||
|
||||

|
||||

|
||||
|
||||
成功获得flag
|
||||
|
||||
然后得到flag
|
||||
然后得到flag
|
||||
|
||||
7.slowjson
|
||||
|
||||
@ -625,7 +625,7 @@ spring会反序列化它们(实例化它们),从而让这些类运行起
|
||||
|
||||
所以我只需要略作修改(指把地址改一下)就可以得到flag的anscii码
|
||||
|
||||

|
||||

|
||||
|
||||
Reverse
|
||||
|
||||
@ -633,7 +633,7 @@ Reverse
|
||||
|
||||
走迷宫,首先ida打开看程序长什么样
|
||||
|
||||

|
||||

|
||||
|
||||
好的,键盘输入每一步的方位,anscii码分别对应的是up down right left的首字母
|
||||
|
||||
@ -641,17 +641,17 @@ Reverse
|
||||
|
||||
然后呢不难发现
|
||||
|
||||

|
||||

|
||||
|
||||
就是存储地图数据的地方
|
||||
|
||||
那么直接看迷宫啥样
|
||||
|
||||

|
||||

|
||||
|
||||
整理一下
|
||||
|
||||

|
||||

|
||||
|
||||
发现有部分道路堵塞,没关系,反正都在很后面了影响不大
|
||||
|
||||
@ -659,11 +659,11 @@ Reverse
|
||||
|
||||
然后就是用bfs算法算出路径
|
||||
|
||||

|
||||

|
||||
|
||||
算出后取前面30个
|
||||
|
||||

|
||||

|
||||
|
||||
(A为左右B为上下的位移)
|
||||
|
||||
@ -675,7 +675,7 @@ flag就出了
|
||||
|
||||
确实很easy,flag直接明文展示的
|
||||
|
||||

|
||||

|
||||
|
||||
拿就拿下呗
|
||||
|
||||
@ -697,6 +697,6 @@ ida打开
|
||||
|
||||
ce启动,启动变速齿轮,然后速度就正常了
|
||||
|
||||
过关呗,然后flag拿下
|
||||
过关呗,然后flag拿下
|
||||
|
||||

|
||||

|
Loading…
x
Reference in New Issue
Block a user