buuctf
文章平均质量分 63
buuctf刷题
pakho_C
这个作者很懒,什么都没留下…
展开
-
[护网杯 2018]easy_tornado
[护网杯 2018]easy_tornado打开靶场分别访问3个文件flag.txt其中说明了flag所在的文件结合题目tornado 和 render查询资料,得到相关漏洞知识:python SSTI tornado render模板注入提示filehash的格式尝试直接访问得到参数为?msg=xxx参考上面的链接,尝试直接构造参数获取cookie_secret?msg={{handler.settings}}得到cookie_secret最后根据hints.txt中原创 2022-02-06 21:22:51 · 722 阅读 · 0 评论 -
[极客大挑战 2019]PHP
web第18题[极客大挑战 2019]PHP打开靶场本来页面是有一只小猫猫的,不知道为啥不见了源码没什么可以利用的。页面提醒文件备份,那么开始的思路和另外一道题一样,buuctf初学者学习记录–[ACTF2020 新生赛]BackupFile先寻找备份文件,使用dirmap扫描得到一个www.zip文件的响应码为200访问将其下载下来解压得到不少文件,先看看flag.php显然不是哈哈再查看class.php:<?phpinclude 'flag.php';e原创 2022-02-04 15:35:10 · 722 阅读 · 0 评论 -
[极客大挑战 2019]BuyFlag
web第20题[极客大挑战 2019]BuyFlag打开靶场无明显线索,直接审计源码此处看到2个可疑页面访问index.php就是主页面访问pay.php有一些提示,flag需要的金额,用户必须是cuit学生,密码必须正确,查看源码,在最后发现了这个意思就是post提交一个password字段,然后判断是不是数字,如果不是就提示错误,然后判断是不是404,是就正确,那么应该是要进行绕过先抓包观察cookie中有user字段,发送到repeater模块进行修改观察返回,根据上方的原创 2022-02-07 01:35:43 · 404 阅读 · 0 评论 -
[HCTF 2018]admin
web第21题[HCTF 2018]admin打开靶场查看源码有登录和注册页面,并且提示你不是admin,应该是要用admin用户进行登录,尝试注册一个admin用户提示用户名已存在,应该是密码爆破,直接用burp抓包,发送到intruder模块,尝试进行密码爆破burpsuite的使用–Intruder模块爆破半天没结果,爆429 太多请求的错误。结果手动尝试弱口令密码123直接登录上了。。。...原创 2022-02-08 11:44:19 · 286 阅读 · 0 评论 -
[RoarCTF 2019]Easy Calc
[RoarCTF 2019]Easy Calc打开靶场:查看源代码,发现有一个calc.php文件,并且提示设置了waf先尝试访问calc.php得到源码,使用get方式传参赋值给num,并且使用正则表达式进行了过滤,只要能绕过过滤,就可以通过eval进行任意php语句首先尝试直接?num=phpinfo()禁止访问,应该是waf起了作用,根据大佬们的wp知道可以通过在num前加一个空格进行绕过原理:php解析规则:当php进行解析时,如果变量名前面有空格,php会自动去掉前面的空格再原创 2022-02-03 17:25:19 · 976 阅读 · 0 评论 -
[MRCTF2020]Ez_bypass
web第27题[MRCTF2020]Ez_bypass打开靶场查看源码php代码审计I put something in F12 for youinclude 'flag.php';$flag='MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}';if(isset($_GET['gg'])&&isset($_GET['id'])) { $id=$_GET['id']; $gg=$_GET['gg']; if (md5($id) ==原创 2022-02-09 14:22:04 · 1290 阅读 · 0 评论 -
[SUCTF 2019]CheckIn
web第25题[SUCTF 2019]CheckIn打开靶场看来是一个文件上传的题上传正常图片返回路径,注意到有一个index.php尝试直接上传一句话木马shell.php提示非法后缀尝试使用burp抓包修改后缀经过测试,基本都被过滤了,尝试上传.htaccess文件得到提示,看来使用了exif_imagetype函数来检查是否是图片文件在木马中加上GIF89a进行图片文件欺骗尝试上传看来对文件内容进行了检查,不允许有<?参考我做的另一道题的绕过方法buu原创 2022-02-08 21:06:57 · 512 阅读 · 0 评论 -
[GXYCTF2019]Ping Ping Ping
[GXYCTF2019]Ping Ping Ping打开靶场就只有一个提示,直接按照提示进行测试会返回ping ip的结果,联想到另外一道题,里面介绍了管道符的使用[ACTF2020 新生赛]Exec尝试直接使用管道符使用ls查看目录下的文件,尝试访问flag.php根据提示,应该是空格被过滤了,需要绕过空格命令执行漏洞利用及绕过方式总结 常用的绕过方式:${IFS}$IFS$1 <<>{cat,flag.php} //用逗号实现空格功能%09原创 2022-02-01 10:07:56 · 1431 阅读 · 0 评论 -
[ACTF2020 新生赛]Exec
[ACTF2020 新生赛]Exec打开靶场:根据网页标题提示,应该是一个命令执行漏洞尝试直接ping127.0.0.1得到返回结果那么应该可以使用管道符直接执行命令常用管道符:1.|按位或,直接执行后面的语句2.&按位与,前面后面的都要执行,不管真假3.||逻辑或,相当于or4.&&逻辑与,相当于and5.;作用与&相同,都会执行...原创 2022-01-30 22:19:28 · 431 阅读 · 0 评论 -
[极客大挑战 2019]Knife
[极客大挑战 2019]Knife打开靶场这应该是一道直接用菜刀或蚁剑进行连接的题,使用的是php一句话木马, 密码为Syc关键是找到木马文件查看源代码没什么提示,尝试一些常用的页面,比如index.php访问,用开发者工具查看响应状态响应码为200.确实有这个页面,直接尝试蚁剑连接连接成功在根目录下找到flag...原创 2022-02-01 22:07:02 · 186 阅读 · 0 评论 -
[极客大挑战 2019]Http
[极客大挑战 2019]Http打开靶场没有什么发现,审计源代码这里发现一处链接点击根据页面提示,It doesn’t come from ‘https://Sycsecret.buuoj.cn’.这不是从https://Sycsecret.buuoj.cn这个页面而来,说明是访问Secret.php页面要从Sycsecret.buuoj.cn页面而来常用的http请求头以及响应头详解即需要在请求头中要加入referer字段使用谷歌插件hackbar进行修改得到提示,请使用Syclo原创 2022-02-01 22:51:15 · 1113 阅读 · 0 评论 -
[极客大挑战 2019]Secret File
[极客大挑战 2019]Secret File打开靶场直接审计源代码看有无发现发现有一处php页面,进入该页面发现有一处按钮,先审计源代码又发现一处php页面,应该是点击secret就会跳转到该页面点击secret进入的是end.php页面,应该是action.php页面进行了快速的跳转,尝试用burp进行抓包观察得到的响应里有提示,访问 secr3t.php访问flag.php查看源代码并没有将flag写在这里可以分析secr3t.php的代码strstr函数原创 2022-01-30 23:08:49 · 411 阅读 · 0 评论 -
[ZJCTF 2019]NiZhuanSiWei
web第23题[ZJCTF 2019]NiZhuanSiWei打开靶场:<?php $text = $_GET["text"];$file = $_GET["file"];$password = $_GET["password"];if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){ echo "<br><h1>".file_get_cont原创 2022-02-08 15:17:08 · 604 阅读 · 0 评论 -
[ACTF2020 新生赛]Upload
[ACTF2020 新生赛]Upload打开靶场显然是一个文件上传的题目,先直接尝试上传一句话木马得到提示,应该是白名单验证,可能是只允许上传jpg,png,gif文件,尝试上传图片马制作图片马然后上传上传成功,并且返回了文件路径访问该路径,确实存在这么一个文件额,做到这里发现好像做错了,使用图片马的话,没有文件包含漏洞的话蚁剑无法解析图片文件,故无法进行连接,查了很多资料也没找到如何连接换个思路,也许不是白名单验证,黑名单验证的话可以尝试上传图片然后抓包修改后缀进行绕过参考文原创 2022-02-01 23:55:15 · 1129 阅读 · 0 评论 -
[ACTF2020 新生赛]BackupFile
web第17题[ACTF2020 新生赛]BackupFile打开靶场无任何提示,但是题目名为备份文件常见备份文件名: .git ;.svn ;.swp ;.~ ;.bak ;.bash_history对其使用dirsearch(报错429),然后使用费dirmap工具进行目录扫描扫出来一个index.php.bak文件,响应为200,就是备份文件,访问将其下载下来文件内容是一个php代码<?phpinclude_once "flag.php";if(isset($_GE原创 2022-02-03 23:45:00 · 586 阅读 · 0 评论 -
[MRCTF2020]你传你呢
web第26题[MRCTF2020]你传你????呢打开靶场应该是一个文件上传的题目首先尝试上传普通图片上传成功并且返回路径上传一句话木马尝试显然做了限制尝试绕过看来php3,php5,ptml等都做了限制尝试图片文件欺骗,这里的后缀是php依旧失败尝试上传写码后的gif文件失败。看来对文件内容也做了校验我又返回去看了一下以前做的upload-labs靶场的绕过文件上传漏洞–upload-labs靶场复现(4-7关)参考第6关和第7关的思路尝试使用空格和.绕过原创 2022-02-09 11:50:23 · 1786 阅读 · 0 评论 -
[极客大挑战 2019]HardSQL
web第24题[极客大挑战 2019]HardSQL打开靶场首先尝试使用单引号显然页面存在sql注入的永真式进行登陆继续尝试order by爆字段那么说明很多字符都被过滤了尝试双写进行绕过依旧是不行看了很多人的wp,他们都没说清楚如何知道对哪些关键字进行了过滤,直接给出了,我也不知道怎么来的直接使用burpsuite对其进行fuzz,观察过滤了哪些关键字参考:利用burpsuit对xss和sql注入进行fuzz抓包发送至intruder模块设置payload,原创 2022-02-08 17:35:24 · 2411 阅读 · 0 评论 -
[极客大挑战 2019]Upload
[极客大挑战 2019]Upload打开靶场显然这是一道文件上传的题直接尝试上传一句话木马文件明显做了验证,尝试上传图片马对图片马中的内容做了验证尝试对一句话密码进行base64加密后上传看来作者对图片进行了校验然后尝试修改修改后缀和mime类型进行绕过可惜又进行了验证换一种后缀.phtml文件好像可以上传,但是对文件内容做了校验,不允许出现<?,尝试更换一句话木马对文件是否是图片进行了校验,那么就需要在木马中加上GIF89a进行图片文件欺骗GIF89a图原创 2022-01-30 00:02:07 · 482 阅读 · 0 评论 -
[BJDCTF2020]Easy MD5
web第22题[BJDCTF2020]Easy MD5打开靶场:查看源码:就是一个单纯的form表单,get方式传参提交,所以无论提交任何数据页面都没有任何回显使用burp抓包发送到repeater模块观察返回头果然有发现,隐藏了一条sql查询select * from 'admin' where password=md5($pass,true)对于md5($pass,true),这位师傅解释的比较详细[BJDCTF2020]Easy MD5将第二个参数设置为true时,会将s原创 2022-02-08 13:21:19 · 1070 阅读 · 0 评论 -
[CISCN2019 华北赛区 Day2 Web1]Hack World
web第31题[CISCN2019 华北赛区 Day2 Web1]Hack World打开靶场:提示了flag表中有flag列,我们只能提交id提交1地址栏中无参数,说明是post方式传参提交23以及后面的就没有了,说明只有2条数据尝试1’说明类型是数字手动测试一下有无过滤,试了常规的猜解字段等方式,发现有过滤FUZZ跑一下相应为482的都是被过滤的字符例如空格,or,order,union以及报错注入的相关字符都被过滤了但是select和from没有被过滤这时我原创 2022-02-12 10:40:58 · 1853 阅读 · 0 评论 -
[GXYCTF2019]禁止套娃
web第37题[GXYCTF2019]禁止套娃打开靶场审计源代码无发现,使用dirmap进行目录扫描发现.git目录,猜测存在.git源码泄露,参考:CTF-WEB:Git 源码泄露 git文件致源码泄露 使用githack工具下载到.git文件夹下的index.php文件index.php<?phpinclude "flag.php";echo "flag在哪里呢?<br>";if(isset($_GET['exp'])){ if (!preg_m原创 2022-02-26 00:20:23 · 5653 阅读 · 1 评论 -
[GYCTF2020]Blacklist
web第30题[GYCTF2020]Blacklist打开靶场这个有点眼熟哎,可能是我做过的另外一道题改的buuctf初学者学习记录–[强网杯 2019]随便注首先看一下有无回显提交1之后有回显,看来此表中有2个字段,看起来是id和内容提交单引号判断是否存在sql注入报错了,那么肯定存在sql注入直接使用永真式爆库1' or 1=1 #得到此时查询的表的全部数据,看来flag不在这张表里使用堆叠注入查看有哪些表1';show tables #得到2张表,FlagHe原创 2022-02-11 22:05:34 · 752 阅读 · 0 评论 -
[GXYCTF2019]BabyUpload
web第33题[GXYCTF2019]BabyUpload打开靶场一道文件上传的题目先直接上传图片上传jpg,png,gif文件都会有这个提示,看来是对MIME类型做了限制,上传一个png文件,将mime类型改为image/jpeg可以上传,但是image/png不行尝试直接上传php木马文件提示后缀名不能有ph添加空格,修改mime类型尝试绕过又被检测了仍然尝试绕过,都失败了,思考,提示“诶,别蒙我啊,这标志明显还是php啊”可能是对文件内容做了检测,例如不允许出现&原创 2022-02-19 16:52:08 · 910 阅读 · 0 评论 -
[GWCTF 2019]我有一个数据库
web第38题[GWCTF 2019]我有一个数据库打开靶场提示有数据库,可能存在phpmyadmin类似的数据库管理工具页面,使用dirmap进行目录扫描结合提示,有phpinfo.php和phpmyadmin目录访问phpmyadmin版本:4.8.1,存在文件包含漏洞漏洞原理参考CVE-2018-12613phpmyadmin(文件包含)漏洞复现这位师傅也讲得很好BUUCTF_Web_[GWCTF 2019]我有一个数据库直接构造payload:?target=db_dat原创 2022-02-26 21:58:50 · 2882 阅读 · 0 评论 -
[网鼎杯 2020 朱雀组]phpweb
web第34题[网鼎杯 2020 朱雀组]phpweb打开靶场,页面每隔5秒会刷新查看源代码两个hidden类型的参数,抓包进行尝试没接触过此类型,查了一下相关资料因为date是php中格式化本地日期和时间,并返回已格式化的日期字符串的函数。这里应该联想到命令执行直接尝试system和eval函数发现有过滤,这时应该需要读取一下index.php文件才能进行下一步了index.php源码: <?php $disable_fun = array("exec"原创 2022-02-19 17:53:50 · 197 阅读 · 0 评论 -
[BJDCTF2020]The mystery of ip
web第35题[BJDCTF2020]The mystery of ip打开靶场查看源码没什么具体的发现,查看另外两个页面flag.phphint.php这里给了提示,知道我为什么知道你的ip吗知识点:HTTP 请求头中的 X-Forwarded-For(XFF)X-Forwarded-For(XFF):XFF是http的拓展头部,作用是使Web服务器获取访问用户的IP真实地址(可伪造)。由于很多用户通过代理服务器进行访问,服务器只能获取代理服务器的IP地址,而xff的作用在于原创 2022-02-21 11:23:55 · 1201 阅读 · 0 评论 -
[BJDCTF2020]ZJCTF,不过如此
web第39题[BJDCTF2020]ZJCTF,不过如此打开靶场有点眼熟参考我做的另一道题:buuctf初学者学习记录–[ZJCTF 2019]NiZhuanSiWei代码审计:<?phperror_reporting(0);$text = $_GET["text"];$file = $_GET["file"];if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ ec原创 2022-02-26 23:38:50 · 4096 阅读 · 0 评论 -
[网鼎杯 2018]Fakebook
web第32题[网鼎杯 2018]Fakebook打开靶场一个简单的登陆和注册并发布博客的页面尝试join页面注册始终提示blog is not valid,应该是做了某种限制,又获取不到源码,那直接用dirmap来一波目录扫描看看了得到2个比较敏感的文件,先访问一下view.php竟然报错了,而且像是sql的报错再访问一下robots.txt。这个文件通常用来保存服务器的一些敏感信息提示了一个.bak后缀的备份文件。直接访问,下载下来得到user.php的源码<?php原创 2022-02-12 21:33:56 · 1371 阅读 · 0 评论 -
[BUUCTF 2018]Online Tool
web第36题[BUUCTF 2018]Online Tool打开靶场php代码审计<?phpif (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];}if(!isset($_GET['host'])) { highlight_file(__FILE__);} else { $host = $_GET[原创 2022-02-21 14:04:32 · 890 阅读 · 0 评论 -
[GXYCTF2019]BabySQli
web第29题[GXYCTF2019]BabySQli打开靶场:源码:一个简单的登录页面,首先直接尝试输入单引号’报错,那必然存在sql注入永真式进行登录得到这个页面,在源码中发现一个像是加密后的数据,在解码器中进行解码尝试得到base32解码出来的文本很像base64加密后的数据,进行二次解码果然有发现,给出了查询的语句,从user表中查询username为表单中提交的用户名的数据,应该就是页面回显的内容永真式登录失败说明做了过滤,尝试双写绕过依然失败直接fuzz原创 2022-02-11 20:50:49 · 2540 阅读 · 7 评论 -
[网鼎杯 2020 青龙组]AreUSerialz
web第28题[网鼎杯 2020 青龙组]AreUSerialz打开靶场直接给出源码<?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { protected $op; protected $filename; protected $content; function __construct() { $op = "1"; $filen原创 2022-02-09 23:20:19 · 989 阅读 · 0 评论 -
[BJDCTF2020]Mark loves cat
web第41题[BJDCTF2020]Mark loves cat打开靶场:一个个人网页,查看源码没有发现,尝试一波目录扫描发现有.git目录,猜测存在.git源码泄露参考[GXYCTF2019]禁止套娃的开始思路利用GitHack将源码下载下来由于环境有问题,index.php和flag.php文件下载不下来,只能得到assets文件夹只好借用别人wp的源码:flag.php:<?php$flag = file_get_contents('/flag')index原创 2022-04-15 18:47:28 · 825 阅读 · 0 评论 -
[MRCTF2020]PYWebsite
添加XFF头127.0.0.1,得到flag。提示除了购买者和自己没人可以看到flag。访问flag.php。原创 2022-08-01 09:40:00 · 211 阅读 · 0 评论 -
[极客大挑战 2019]FinalSQL
利用id=0^1为NO!Clickothers~~~id=1^1为ERROR!到最后一个页面发现提示尝试第6个页面,观察到url中的id,输入6得到。过滤了不少,但是异或^没被过滤,并且没有报错页面,那么应该是盲注。flag不在此处,查询另一张表的password字段。提示error那么应该存在sql注入,尝试永真式。Flaaaaag表字段为idfl4gawsl。爆破出表名为F1naI1y,Flaaaaag。[极客大挑战2019]FinalSQL。使用异或的特性相同为0不同为1测试。...原创 2022-08-01 15:34:05 · 1086 阅读 · 0 评论 -
Dest0g3 520迎新赛-web-EasyPHP
通过set_error_handler()函数设置用户自定义的错误处理程序,然后触发错误。这里触发错误后会输出flag。注意到$fl4g.=$dest0g3;是一个字符拼接的操作,数组和字符拼接会出错,所以构造。关键在于set_error_handler函数。...原创 2022-07-16 18:21:40 · 305 阅读 · 0 评论 -
[BJDCTF2020]EasySearch
这里用到shtml,HTML是静态的,而shtml基于SSI技术,当有服务器端可执行脚本时被当作一种动态编程语言,所以可以注入,也可以用来远程命令执行。只要密码的md5值的前6位为6d0bc1即可登陆成功。所以只需要将username设置为payload即可。一个登陆页面,尝试了弱口令爆破注入无果。扫描目录发现index.php.swp。得到密码为2020666。接着看到shtml页面。...原创 2022-07-29 10:29:47 · 214 阅读 · 0 评论 -
[强网杯 2019]高明的黑客
web第42题[强网杯 2019]高明的黑客打开靶场根据提示下载备份文件里面有几千个php文件审计一下发现,很多类似于这种,有命令执行的可能,但是很多将参数置空了,无法利用,只能自己寻找可以利用的php文件,手动寻找不现实 ,只能编写脚本学习大佬的脚本:出处:[强网杯 2019]高明的黑客(考察代码编写能力)import osimport requestsimport reimport threadingimport timeprint('开始时间: '+ time.asc原创 2022-04-16 13:22:16 · 1138 阅读 · 0 评论 -
[WUSTCTF2020]朴实无华
web第46题[WUSTCTF2020]朴实无华打开靶场:其中有一个header的报错,搜了一下,一般来说在header函数前不能输出html内容,如果在header()执行之前有echo等语句,当后面遇到header()时,就会报出 “Warning: Cannot modify header information - headers already sent by …”错误。就是说在这些函数的前面不能有任何文字、空行、回车等,而且最好在header()函数后加上exit()函数除了这个就没什原创 2022-04-18 23:16:14 · 341 阅读 · 0 评论 -
[WesternCTF2018]shrine
os.environ.pop(‘FLAG’)获取环境变量存放在名为FLAG的config中。不过python还有一些内置函数,比如url_for和get_flashed_messages。执行函数的黑名单有两个config和self。flask框架首先考虑模板注入ssti。那么目的就是获取config中的值。...原创 2022-07-27 18:07:30 · 281 阅读 · 0 评论 -
[MRCTF2020]Ezpop(详解)
将pop对象的参数source作为Show类的对象(此时source对象也有两个参数source和str),则会执行__toString()函数,returnsource对象的str参数的source,此时str如果是Test类的一个对象,则没有source参数,执行__toString()函数则会找不到source参数,就会调用Test类对象str的__get()函数。所以可以将参数p设置为Modifier类的对象,从而执行__invoke()函数,进而执行append函数。...原创 2022-07-29 16:30:48 · 2411 阅读 · 3 评论