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 类文件, 处理用户输入的信息。接受请求, 校验/解析输入, 调用业务逻辑: 负责从视图读取数据, 控制用户输入,...
buuctf web wp 5
[buuctf] web区 write up 5[网鼎杯 2020 朱雀组]Think Java源码审计访问网站, 是一个 json 对象: 这个题目还有个附件, 打开发现是部分 class 源码, 其中一段关键代码: 123456789101112131415@CrossOrigin@RestController@RequestMapping({"/common/test"})public class Test { public Test() { } @PostMapping({"/sqlDict"}) @Access @ApiOperation("为了开发方便对应数据库字典查询") public ResponseResult sqlDict(String dbName) throws IOException { List<Table> tables =...
LampSecurityCTF 5+7 - CTF
LampSecurityCTF 5+7 - CTF LampSecurityCTF5 - CTF 靶机下载: 镜像 基本信息收集主机发现 端口扫描 80 端口爆了比较多的信息; 网页访问打开是一个论坛系统: Phake Organization; 目录爆破简单的爆破一下: 根据结果能发现 php 信息: 另外, 在首页能找到 Andy 这个用户的 blog, 通过 webmail 一路找进来能找到一个管理员登录界面: 注意这里有写 “NanoCMS Admin Login” Nano 漏洞利用既然知道了 CMS , 着手在 google 和 Metasploit 里收集一下 nday: NanoCMS 未对已认证用户创建网页时的数据进行过滤页面默认保存为 .php 后缀,使得通过认证的攻击者能够访问底层系统; 这个利用需要一个能登陆的已经通过认证的 CMS 账户, 不过尝试注册的话, 注册之后貌似不会默认分配密码, 需要用邮箱去重置密码, 先看看能不能获取已知账户的密码, 例如这个 Andy: 信息泄露接着找找这个 “nano cms” 的漏洞,...




























































