三道比较简单的的题放一起一写,old-hack是ThinkPHP框架的一个nday,Schrödinger和elementmaster没啥考点,就是脑洞 一.old-hack 进入题目没发现什么Hint和有用的东西,只给出了ThinkPHP5的提示,猜测应该是考察一个ThinkPHP5的nday, 想办法构造一个ThinkPHP的报错看一下详细版本: http://a504dd5e-6b7c-407f-ab11-ee1c9efdc3f3.node3.buuoj.cn/index.php?s=1…
感觉算是这次比赛里面综合性很强的一道题了,主要考察SSRF.PHP伪协议包含.挖掘逻辑漏洞和一个小tirck.委屈的是第一天晚上就做到了最后一步,想到了SESSION置空即可绕过,但是最后读Flag姿势不对导致比赛结束都没做出来......QAQ 进入题目Header发现Hint,BJD一贯的尿性,做BJD题目的时候F12不能关 - .- 根据提示进入home.php,发现URL变成了: http://d3a0ad27-3c95-46f7-bfc2-208e580c984b.node3.buuo…
本题考查python jinjia2的ssti,其实tplmap直接梭哈都可以 随便输入一个值,查看源代码就能看到一个Hint: 用下面的流程图测试一下,看看是什么模板引擎: 用Payload测试之后发现是jinjia2的模板引擎,然后构造jinjia2 ssti的命令执行payload: {% for c in [].__class__.__base__.__subclasses__() %}{% if c.__name__=='catch_warnings' %}{{ c.__init__.…
[BJDCTF 2nd]Schrödinger 点进题目之后是一堆英文,英语不好就不配打CTF了吗(流泪) 复制这一堆英文去谷歌翻译的时候发现隐藏文字 移除test.php文件,访问test.php文件 结合index.php的内容,应该是需要我们爆破获取test.php页面adminn的密码 尝试输入http://127.0.0.1/test.php 题目有说: If the CPU of the server is idle, it must be able to burst out th…
[BJDCTF 2nd]elementmaster 进来就是这样的一个界面,然后就查看源代码 转换之后是Po.php,尝试在URL之后加上看看,出现了一个“.“ ....... 迷惑 然后看了wp 化学???? ?????? 世界迷惑一览 然后就遍历化学元素 就直接上脚本(懒得打化学符号...) import requests url='buuoj上拿的网址' flag='' element=['H', 'He', 'Li', 'Be', 'B', 'C', 'N', 'O', 'F', 'Ne…
先贴一下Y1ng大佬的WP elementmaster 脑洞确实大,源码中hidden的id可以用hex解码成Po. 在URL后面输入Po.php得到一个点, 然后不知所措 被水淹没 实际上这里是要遍历化学元素周期表来获得全部的信息,最终获得flag 脚本如下 mport requests url='http://68607684-1f65-45a1-96b6-379176edb7f3.node3.buuoj.cn/' flag='' element=['H', 'He', 'Li', 'Be'…
[BJDCTF 2nd]文件探测 这两天刷题碰到了一道稍微有难度的题,记录一下,有一些点是未被掌握到的. home.php: <?php setcookie("y1ng", sha1(md5('y1ng')), time() + 3600); setcookie('your_ip_address', md5($_SERVER['REMOTE_ADDR']), time()+3600); if(isset($_GET['file'])){ if (preg_match("…
[BJDCTF2020]Mark loves cat 源码泄露 使用GitHack.py下载源码 下载之后对源代码进行审计 flag.php代码为: <?php $flag = file_get_contents('/flag'); iindex.py里的关键代码为: <?php include 'flag.php'; $yds = "dog"; $is = "cat"; $handsome = 'yds'; foreach($_POST as $x =…
[BJDCTF 2nd]简单注入 hint.txt出现了内容. 大概意思和国赛一道题相同. username处注入\来转义单引号,password处使用sql语句整数型注入. 例如: 传入admin\ 和 or/**/length(database())>0#会回显stronger字样 传入admin\ 和 or/**/length(database())<0#会回显girl friend字样 大师傅都么得girl friend,我也没得--呀. 直接上脚本吧,二分法还是挺快的. 这里我用的三…
[BJDCTF 2nd]ydsneedgirlfriend2 附件 步骤: 例行检查,64位程序,开启了canary和nx 试运行一下程序,看看大概的情况,经典的堆块的布局 64位ida载入,习惯性的检索程序里的字符串,发现了后门函数,shell_addr=0x400D86 4.找一下4个菜单选项的函数 add dele dele函数存在明显的UAF漏洞,关于UAF漏洞,具体的看这篇文章 https://my.oschina.net/u/4345478/blog/4656767 show 我们首…
[BJDCTF 2nd]secret 附件 步骤: 例行检查,64位程序,开启了canary和nx 本地试运行一下,看看程序大概的情况,好像是一个什么游戏 64位ida载入,检索程序里的字符串,发现了flag字样 双击,ctrl+x找到了函数 sub_46A3F(),游戏开始界面,让我们输入名字 sub_40136D()函数太长了,没法f5 看汇编,看到首先调用了sub_46A329函数,在sub_46A329里读入了一个数据,off_46D090-1,然后跟标记处的数据比较,如果正确的话,就跳…
[BJDCTF 2nd]r2t4 附件 步骤 例行检查,64位,开启了canary和nx 64位ida载入,检索字符串的时候发现了后面函数,shell_addr=0x400626 main函数 可以溢出0x8字节,但是开启了canary保护,没法利用,输出点存在格式化字符串漏洞,可以利用 查看程序的汇编可以看到,如果程序检查canary不通过,就会去执行___stack_chk_fail, 由于我们已经获取了后门函数的地址,所以我们可以利用格式化字符串漏洞可读可写的特性,将___stack_ch…
[BUUCTF]PWN12--[BJDCTF 2nd]r2t3 题目网址:https://buuoj.cn/challenges#[BJDCTF%202nd]r2t3 步骤: 例行检查,32位,开启了NX保护 nc一下看看程序的大概执行情况 32位ida载入,shift+f12查看程序里的字符串,看到了system函数和 '/bin/sh' 字符串 双击跟进,ctrl+x找到调用改字符串的函数,找到了程序里的一个后门函数,shell_addr=0x804858B 根据nc得到的提示字符串,找到输…
[BUUCTF]PWN15--[BJDCTF 2nd]one_gadget 附件 步骤: 例行检查,64位,保护全开 nc试运行一下程序,看看情况,它一开始给了我们一个地址,然后让我们输入one gadget的地址 64位ida载入,shift+f12查看字符串,根据nc看到的字符串,找到关键函数 题目一开始输出的是printf函数的地址,题目一开始给了libc,知道了它的内存地址,就能够算出程序的偏移量了 print_addr=0x7fbe7e114830 offset=print_addr-…
[BJDCTF 2nd]fake google 进入页面: 试了几下发现输入xxx,一般会按的格式显示, P3's girlfirend is : xxxxx 然后猜测会不会执行代码,发现可以执行 <script>alert(1);</script> 发现输出P3's girlfirend is : xxxxx的页面注释有一句话,师傅把点告诉我们了:ssti注入 <!--ssssssti & a little trick --> 题解就很明显了:因为师傅下手轻了…
主要考察ThinkPHP6.0的一个任意文件写入的CVE以及突破disable_function的方法. ThinkPHP6.0.0任意文件操作漏洞 理论分析 进入题目是一个简单的操作页面,dirmap扫出来www.zip源码泄露: 下载下来看一下源码目录: 很明显的ThinkPHP框架,让网页随便报个错看看版本: 发现版本为6.0.0,一般线上CTF题目中出现ThinkPHP这种框架时,多是考察近期该框架爆出的通用漏洞,像是XCTF外卡赛“高校战‘疫’”的PHP-UAF便是考察了一个PHP近期…
[BJDCTF 2nd]duangShell   [BJDCTF 2nd]duangShell 点击进去之后提示我们swp源代码泄露,访问http://xxx/.index.php.swp下载该文件 该文件产生的原因是:​使用vi编辑器打开文件时,会生成一个.文件名.swp的备份文件,防止意外退出等情况导致文件内容丢失.产生原因主要是管理员在web目录下修改代码文件,导致生成了.swp备份文件. 我们使用vim -r 文件名 来恢复内容,然后按下任意键就可以看到其中的代码了. windows下我…
[BJDCTF 2nd]duangShell 点击进去之后提示我们swp源代码泄露,访问http://xxx/.index.php.swp下载该文件 该文件产生的原因是:​使用vi编辑器打开文件时,会生成一个.文件名.swp的备份文件,防止意外退出等情况导致文件内容丢失.产生原因主要是管理员在web目录下修改代码文件,导致生成了.swp备份文件. 我们使用vim -r 文件名 来恢复内容,然后按下任意键就可以看到其中的代码了. windows下我在git命令行里面进行操作的, 源代码如下: </…
[BJDCTF 2nd]xss之光 进入网址之后发现存在.git泄露,将源码下载下来,只有index.php文件 <?php $a = $_GET['yds_is_so_beautiful']; echo unserialize($a); GET传参给yds_is_so_beautiful,接着传入的参数会被反序列化后输出,跟题目结合,可以知道当反序列化的结果是 <script>alert(1)</script> 就会让1以弹窗形式显示出来,但是在代码中没有给出类来,所以我们…
[BJDCTF 2nd]假猪套天下第一 假猪套是一个梗吗? 进入题目,是一个登录界面,输入admin的话会返回错误,登录不成功,其余用户可以正常登陆 以为是注入,简单测试了一下没有什么效果 抓包查看信息,发现源代码有提示 访问L0g1n.php 显示需要在99年后才开放访问,请求头里面有time,修改成一个很大的数字 返回信息变成了需要从本地访问,使用XFF或者Client-ip绕过 现在的错误信息变成了需要来自于gem-love.com,添加Referer头 现在变成了需要使用Commodo…
[BJDCTF 2nd]old-hack 页面很有意思 同时也告诉了我们是THINKPHP5,我们只需要寻找THINKPHP5的漏洞就可以了. https://www.codercto.com/a/54587.html 可以看这篇文章,我们使用里面的payload命令执行 cat /flag一下 获得flag [GXYCTF2019]禁止套娃 源代码里面没有什么提示,抓包也没有发现什么异常,感觉没什么思路,只能拿出御剑进行爆破,看有没有源代码泄露. 但是御剑扫了之后也没有线索,这里没有想到是.g…
[BJDCTF 2nd]8086 附件 步骤: 首先查壳儿,无壳,直接上ida,检索字符串,程序里就一个字符串 没法f5反编译出伪代码,大致看了一下汇编,start函数之后调用了sub_10030函数,sub_10030函数是一个死循环 中间那一串感觉应该是什么算法,选中,按c,force,强制转换成汇编查看 大概就是一个字符串与ox1f进行了异或操作,得到了]U[du~|t@{z@wj.}.~q@gjz{z@wzqW~/b字符串 知道了程序的算法,逆向一下写exp str="]U[du~|t@…
[BJDCTF 2nd]guessgame 附件 步骤: 例行查壳儿,64位程序,没有壳儿 64位ida载入,习惯性的检索程序里的字符串,看到了一串类似flag的字符串,拿去提交,成功 BJD{S1mple_ReV3r5e_W1th_0D_0r_IDA}…
[BJDCTF 2nd]test 步骤 根据题目,ssh连接一下靶机 登录成功后,ls看一下当前目录下的文件,根据提示可知,我们没法直接获取flag字符串,但是我们可以读取test的源码, test.c 代码 可以看到这个程序在执行系统调用system的时候设置了过滤,过滤了"n.e.p.b.u.s.h.i.f.l.a.g.|./.$.`.-.<.>.."这些字符 我们去查看一下/usr/bin(存放命令的目录)这个目录里过滤了这些字符后还有那些命令是允许我们使用的 因为一…
主要考察文件包含以及php://filter伪协议的一个小trick.题目很简单,但是因为不知道这个trick卡了很久,记录一下 进入题目看到有两个按钮,没有其他信息: 点击按钮显示出来一张图片,然后发现URL变成了: http://0d01386f-60a4-4890-9723-b12f3a9eb35c.node3.buuoj.cn/index.php?category=woofers 怀疑是SQL注入或者是文件包含,随便输入一个值返回了PHP报错: 确定是文件包含漏洞,直接包含/flag发现…
进入首页: 首页告诉了我们是thinkphp5的漏洞. 知道了是哪个版本的话就搜一搜喽:最后发现是thinkphp5.0.23的命令执行 payload_1:查看根目录文件,发现flag位置 http://90b89500-3ac6-40a5-9f1e-e84e8923115f.node3.buuoj.cn POST:_method=__construct&filter[]=system&server[REQUEST_METHOD]=ls / payload_2:读取flag http:/…
BUUOJ Web的第一题,其实是很有质量的一道题,但是不知道为什么成了Solved最多的题目,也被师傅们笑称是“劝退题”,这道题的原型应该是来自于phpMyadmin的一个文件包含漏洞(CVE-2018-12613) 解题过程 解题思路 进入题目查看源代码发现提示: 跟进source.php得到源代码: <?php highlight_file(__FILE__); class emmm { public static function checkFile(&$page) { $white…
本题考察XFF头的ssti模板注入,没有过滤,算是入门题 进入题目hint.php的源码中可以看到一个hint 猜测是通过XFF头来获取信息的,发个HTTP请求添加一个XFF头测试一下: GET /flag.php HTTP/1.1 Host: node3.buuoj.cn: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:74.0) Gecko/ Firefox/74.0 Accept: text/html,applicatio…
有点脑洞的题,题目不难,主要考察注入和联合查询的一个小特点 进入题目是一个登录框,看看源代码,在search.php文件中发现了这个 大写的字母和数字很明显是base32,先用base32解码一下,发现还有一层base64,继续解码得到后端处理的SQL语句: select * from user where username = '$name' 发现没有验证密码,并且注入点是在username上的,admin测试一下,随便输入一个密码,返回wrong pass! 换一个用户名试试,返回wrong…
解题思路 打开发现登陆框,随机输入一些,发现有waf,然后回显都是同样的字符串.fuzz一波,发现禁了挺多东西的. select union 等 这里猜测是布尔盲注,错误的话显示的是:You konw ,P3rh4ps needs a girl friend 但是不管传入什么都回显这个,这里想是否有其他信息,我这种菜鸡还不会直接根据测试,猜测出sql语句. robots.txt中发现hint,打开hint.php,发现sql语句.太好了 bypass sql select * from user…