BUUCTF
文章平均质量分 54
nigo134
菜鸡一个,入门web安全 、、、
展开
-
[WMCTF2020]Make PHP Great Again 2.0
进入页面给出代码这里有个require_once()函数需要了解一下,如果require_once包含过一次flag.php再次出现则不会执行发现require文件时,在对软链接的操作上存在一些缺陷,似乎并不会进行多次解析获取真实路径。/proc/self指向当前进程的/proc/pid//proc/self/root/是指向/的符号链接使用伪协议来读取flag,构造payload:?file=php://filter/read=convert.base64-encode/resource=/pr转载 2022-06-18 02:16:43 · 626 阅读 · 0 评论 -
[CISCN2019 总决赛 Day1 Web4]Laravel1
反序列化漏洞laravel pop链的挖掘显而易见的考察反序列化漏洞,并且告诉了备份source.tar.gz,直接下载下来开始找pop链。反序列化的触发点一般为__wakeup()或者__destruct(),更多的是destruct,先找destruct。使用phpstrom,Ctrl+Shift+R查找function __destruct:通过逐个分析找到一个可以文件包含的链,TagAwareAdapter类:调用过程:__destruct() -> commit() -> invalidat原创 2022-06-17 22:08:24 · 923 阅读 · 0 评论 -
[安洵杯 2019]iamthinking
thinkphp6.0反序列化漏洞一进来就发现forbiden,直接目录扫描一波~发现www.zip,下载下来开始代码审计:挺简单的就一个index.php控制器,代码大概意思将GET传入的payload参数进行发序列化,但是payload不能以O开头,妥妥的考反序列化漏洞,O是php对象序列化后的第一个字符,既然不能以O开头,那么就把对象放进一个数组里就行了,这样就是以a开头了从而绕过。接下来就是找pop链了,先看看thinkphp6.0有没有已知反序列化漏洞。 发现6.0刚好存在反序列化漏洞,网上随便搜原创 2022-06-17 02:02:28 · 741 阅读 · 0 评论 -
[羊城杯2020]easyphp
1. .htaccess的利用.htaccess利用方式.htaccess相关问题2.php://filter的利用关于php://filter在file_put_contents中的利用_bfengj的博客-CSDN博客 核心代码:filename只能由点和字母组成,content不能有flag和file。乍一看挺简单的filename传a.php,content传再用蚁剑访问就行了。但事实是想多了,确实能够将木马写入a.php,也可以访问a.php,但......原创 2022-06-15 17:45:38 · 575 阅读 · 0 评论 -
NO.3-19 [SWPUCTF 2018]SimplePHP /phar
[SWPUCTF 2018]SimplePHP模糊测试这个题首先,看到后会有一点觉得是文件上传。没有错,这只是一部分。上传了文件之后发现会被“安排”。这个过程比较模糊所以叫做模糊的测试叭。发现文件包含在查看文件的tab中,我萌可以看到 ?file= ;不用多说这个点了。我萌把所有的源码规制下来。下面的源码搞出来的话就跳过叭,挺长的。首先我们是得到的file.php的内容。然后根据file.php的源码取得function.php,class.php。然后再转载 2021-08-08 16:26:59 · 310 阅读 · 0 评论 -
NO.3-18 [GYCTF2020]Ezsqli
GYCTF2020]Ezsqli过滤了好多东西,包括用来查询的information关键词,本上就是考虑盲注了当||后面条件为真时返回Nu1L,为假时返回V&N,这就是判断盲注语句是否成立的关键当||后面条件为真时返回Nu1L,为假时返回V&N,这就是判断盲注语句是否成立的关键接下来就可以写脚本判断表名了import requestsurl = 'http://bfd71058-3cf0-4e87-8731-8935a651f051.node3.buuo.转载 2021-08-08 15:57:19 · 162 阅读 · 0 评论 -
NO.3-16 [HITCON 2017]SSRFme
文章目录 知识点 新学会的函数 代码审计知识点perl脚本GET open命令漏洞GET是Lib for WWW in Perl中的命令 目的是模拟http的GET请求,GET函数底层就是调用了open处理open存在命令执行,并且还支持file函数新学会的函数pathinfo代码审计前面的代码返回了我的ip,和orange一起进行md5加密。通过url参数输入的内容会以GET命令执行,命令执行的结果会被存入我们以filename参数的值命名的文件...转载 2021-08-07 16:21:10 · 132 阅读 · 0 评论 -
NO.3-14 [CSCCTF 2019 Qual]FlaskLight
?search={{7*7}}#通过回显判断SSTI?search={{''.__class__.__mro__[2].__subclasses__()}}#爆出所有类编写脚本查找可利用的类利用subprocess.Popen执行命令import requestsimport reimport htmlimport timeindex = 0for i in range(170, 1000): try: url = "http://...转载 2021-08-07 15:31:14 · 155 阅读 · 0 评论 -
NO.3-13 [RCTF2015]EasySQL
打开靶机,是如下界面 到注册页面,试了一下,username 和 email 处有过滤,直接 fuzz 一下哪些字符被禁了 注册成功之后,有一个修改密码的功能,这里的考点应该就是二次注入 它在存入数据库时进行了特殊字符的处理,但是在修改密码这里,从数据库中读取出来时,没有对数据处理 注册用户名 'sss"\ ,在修改密码处的有个报错的回显 可以猜出来 sql 语句应该是类似于这样子的 select * from user wher..转载 2021-08-07 15:25:15 · 186 阅读 · 0 评论 -
NO.3-12 [CISCN2019 华北赛区 Day1 Web5]CyberPunk
解题过程首先进入题目页面看起来没有什么特别的,就是一个可以提交信息的页面。查看响应报文也没有什么提示,但是在网页注释里有东西。<!--?file=?-->这里可能有一个文件包含,尝试payloadhttp://xxx.xxx/index.php?file=php://filter/convert.base64-encode/resource=index.php结果得到了当前页面经过加密后的源码有关伪协议的内容,可以大致参考下这篇文章:https://转载 2021-08-07 15:14:16 · 211 阅读 · 0 评论 -
NO.3-11 [CISCN2019 总决赛 Day2 Web1]Easyweb
. 知识点 备份文件泄露 SQL注入利用 php短标签2.感悟这到题,我就写到SQL注入的地方,成功绕过了单引号的限制用\0,但是没有往盲注上想。以为是任意文件下载。看完题解,知道了思路应该是bool盲注,语句成功的话,就让id = 1,回显正常,错误的话 id = 0,就什么都没有。 这是我没有想到的,气死我了,应该是可以想到了。3.实践3.1 image.php.bak御剑扫描到robots.txt,打开提示有备份文件,最后找到这个文件,然后下载下来3....转载 2021-08-07 15:08:54 · 208 阅读 · 0 评论 -
NO.3-10 [Zer0pts2020]Can you guess it?
知识点basename函数WP进入页面,审一下源码:<?phpinclude 'config.php'; // FLAG is defined in config.phpif (preg_match('/config\.php\/*$/i', $_SERVER['PHP_SELF'])) { exit("I don't know what you are thinking, but I won't let you read it :)");}if (isset($_转载 2021-08-07 12:45:38 · 202 阅读 · 0 评论 -
NO.3-9 [FBCTF2019]RCEService
题目叫我们以JSON的格式提交命令,先随便输提交JSON格式?cmd={"cmd":"ls"}但是经测试发现很多命令被禁止了在网上找到的源码2333:<?phpputenv('PATH=/home/rceservice/jail');if (isset($_REQUEST['cmd'])) { $json = $_REQUEST['cmd']; if (!is_string($json)) { echo 'Hacking attempt de...转载 2021-08-06 18:21:13 · 293 阅读 · 0 评论 -
NO.3-8 [WUSTCTF2020]颜值成绩查询
考察sql bool注入,过滤空格;题目题目已经说了查询,多半和sql注入脱不了干系简单的查询框FUZZ测试输入1,并查询发现页面变化了,而且url多了个stunum参数http://101.200.53.102:10114/?stunum=1输入2,3,4依次提交,发现页面都有变化可是再往下输入,就没反应了~一开始以为是flag会在某个stunum页面下,所以用bp跑了stunum=1 到1000结果只有stunum=1,2,3,4的时候页面有变化方向不对,换..转载 2021-08-06 17:17:42 · 239 阅读 · 0 评论 -
NO.3-6 [GWCTF 2019]枯燥的抽奖
题目补充 php_mt_seed 输入规则:设以知随机数序列为 a,b,c,d,e ;随机数可能值个数为n,则输入为:a a 0 n-1 b b 0 n-1 c c 0 n-1 d d 0 n-1 e e 0 n-1过程1.php种子伪随机数,seed。mt_scrand(seed)函数通过分发seed种子,然后种子有了后,靠mt_rand()生成随机数。举个例子,两次随机数生成竟然是存在一样的。其实这就是伪随机数的漏洞,存在可预测性。生成伪随机数是线性的,你可以理解为y=.转载 2021-08-06 16:38:35 · 237 阅读 · 0 评论 -
NO.3-5 [CISCN2019 华北赛区 Day1 Web1]Dropbox
知识点轰炸1.1 open_basedir在in_set这个函数中,可以设置php的一些配置,其中就包括open_basedir ,用来限制当前程序可以访问的目录。后来问了一下朱师傅,了解到:它是可以访问设置目录下的所有下级目录。若"open_basedir = /dir/user", 那么目录 “/dir/user” 和 “/dir/other"都是可以访问的。所以如果要将访问限制在仅为指定的目录,请用斜线结束路径名。”."可代表当前目录,open_basedir也可以同时设置多个目录,在Win转载 2021-08-06 15:47:26 · 341 阅读 · 0 评论 -
NO.3-4 [极客大挑战 2019]RCE ME
这题和我这篇文章内容相关:关于PHP正则的一些绕过方法绕过正则,有长度限制,先出一个phpinfo()看一下配置,payload很多,我上面那篇文章里面的也可以,我这里直接用取反urlencode编码绕过PS C:\Users\Administrator> php -r "echo urlencode(~'phpinfo');" %8F%97%8F%96%91%99%90PS C:\Users\Administra.转载 2021-08-05 20:35:26 · 203 阅读 · 0 评论 -
NO.3-3 [MRCTF2020]套娃
查看源代码有一段注释代码$query = $_SERVER['QUERY_STRING']; if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){ die('Y0u are So cutE!');} if($_GET['b_u_p_t'] !== '23333' && preg_match('/^23333$/', $_GET['b_u_p_t'])){ echo "转载 2021-08-05 16:13:29 · 215 阅读 · 0 评论 -
NO.3-2 [CISCN2019 华北赛区 Day1 Web2]ikun
当时没做出来,大佬复现了环境就做一波题目第一步提示我们要找到lv6写个脚本找一下import requestsurl="http://web44.buuoj.cn/shop?page="for i in range(0,2000): r=requests.get(url+str(i)) if 'lv6.png' in r.text: print (i) break跑的有点慢找到了lv6发现买不起应该是要抓包修改改折扣然后拿到了后台的地址http://web44.b转载 2021-08-05 15:06:18 · 184 阅读 · 0 评论 -
NO.2-32 [NCTF2019]True XML cookbook
抓包一看就知道可能是xxe漏洞,拿个exp直接发过去看看效果。<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE a [ <!ENTITY exp SYSTEM "file:///flag"> ]><user><username>&exp;</username><password>aaaa</password></user>.转载 2021-08-03 23:51:11 · 259 阅读 · 0 评论 -
2021-08-03
知识点:FLASK SSTIssti绕过pin生成题目已经提示是flask,直接找一下好注入的地方看看。页面很简洁,就是一个base64加解密的站点。输入框应该就是ssti的注入点,不是加密就是解密输入框。但是一般来说加密框把数据加密,就不会执行代码了,所以应该可以注入的点在解密框。简单的测试一下,输入{{7+7}},加密结果如下。将其解密。有计算结果出现。说明确实存在ssti注入可用,接下来尝试读取源码来明确具体的waf。{% for c in转载 2021-08-03 23:46:29 · 91 阅读 · 0 评论 -
NO.2-30 [BJDCTF2020]EasySearch
sql注入没回显,扫描一下后台,最后用御剑扫描到了index.php.swp进去是一段源代码<?php ob_start(); function get_hash(){ $chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()+-'; $random = $chars[mt_rand(0,73)].$chars[mt_rand(0,73)].$chars[mt_r.转载 2021-08-03 23:40:23 · 125 阅读 · 0 评论 -
NO.2-29 [CISCN2019 华东南赛区]Web11
BUUCTF之[CISCN2019 华东南赛区]Web11知识点SSTI smarty X-Forwarded-For题目于是开始BurpSuite抓包和添加X-Forwarded-For:127.0.0.1emmmmmm其实一开始添加完这个就不知道怎么做了,后来去看了别人的WP有提示SSTI和smarty这两个词。心想,这个不是最近才做过类似的题目嘛。。。哎!我居然没想到!所以开始尝试一下:X-Forwarded-For:{7*8}获取当前目录有那些文件:X-Forwarded-.转载 2021-08-03 23:35:27 · 336 阅读 · 0 评论 -
NO.2-28 [MRCTF2020]Ezpop
Ezpop序列化Pop链 利用几个类之间相互关联进行构造 文件包含漏洞 Modifier类中append函数使用了include(),会出现文件包含漏洞。以下是题目内容:Welcome to index.php<?php//flag is in flag.php//WTF IS THIS?//Learn From https://ctf.ieki.xyz/library/php.html#%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E9%AD%9转载 2021-08-03 23:11:09 · 152 阅读 · 0 评论 -
NO.2-26 [极客大挑战 2019]FinalSQL
根据题目提示盲注,随便点几下找到注入点发现我们输入^符号成功跳转页面,证明存在注入1^(ord(substr((select(group_concat(schema_name))from(information_schema.schemata)),%d,1))=%d)^1"%(i,ord(j)) 获取数据库名称1^(ord(substr((select(group_concat(table_name))from(information_schema.tables)where(table_s转载 2021-08-03 22:41:50 · 223 阅读 · 0 评论 -
NO.2-24 [网鼎杯 2020 朱雀组]Nmap
站老是崩,有点难受。过程1.题目非常熟悉,以前在buu写过。主要考察nmap的一些用法。2.选项 解释-oN 标准保存-oX XML保存-oG Grep保存-oA 保存到所有格式-append-output 补充保存文件选项-oG将结果Grep保存。nmap -F -oG test.txt 192.168.23.1选项-oA该选项可将扫描结果以标准格式、XML格式和Grep格式一次性保存,分别放在.nmap,.xml和.gnmap文件中。3.尝试对扫描结果进行指定..转载 2021-08-03 22:34:39 · 264 阅读 · 0 评论 -
NO.2-23 [0CTF 2016]piapiapia
平台:buuoj.cn打开靶机如下:弱密码,sql乱试一波没反应,注册个账号进去之后让我们更新信息提交跳转到profile.php扫一下网站目录。(我们在做题扫目录的时候经常会遇见429的情况,这时候就需要调整一下扫描参数,比如dirsearch添加个延时参数,这样就大大提高了扫描效率)最后结果如下:还是有好多没扫出来(逃)有个www.zip源码泄露,下载下来解压如下:在config.php里看见了flag,但不可读profile.php里有反序列化后面我们看到了$photo变量转载 2021-08-03 22:28:48 · 148 阅读 · 0 评论 -
NO.2-22 [SWPU2019]Web1
bypass information_schema参考链接:https://www.anquanke.com/post/id/193512进行bypass之前先了解一下mysql中的information_schma这个库是干嘛的,在SQL注入中它的作用是什么,那么有没有可以替代这个库的方法呢?information_schema:简单来说,这个库在mysql中就是个信息数据库,它保存着mysql服务器所维护的所有其他数据库的信息,包括了数据库名,表名,字段名等。 在注入中,inf转载 2021-08-01 21:04:57 · 201 阅读 · 0 评论 -
NO.2-21 [SUCTF 2019]Pythonginx*
nginx配置 配置文件存放目录:/etc/nginx 主配置文件:/etc/nginx/conf/nginx.conf 管理脚本:/usr/lib64/systemd/system/nginx.service 模块:/usr/lisb64/nginx/modules 应用程序:/usr/sbin/nginx 程序默认存放位置:/usr/share/nginx/html 日志默认存放位置:/var/log/nginx 配置文件目录为...转载 2021-08-01 17:36:50 · 125 阅读 · 0 评论 -
NO.2-20 [WesternCTF2018]shrine
SSTI模板注入:模板注入涉及的是服务端Web应用使用模板引擎渲染用户请求的过程服务端把用户输入的内容渲染成模板就可能造成SSTI(Server-Side Template Injection)1.模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档。一些模板引擎:Smarty,Mako,Jinja2,Jade,Velocity,Freemaker和Twig模板引擎可转载 2021-08-01 17:03:49 · 331 阅读 · 0 评论 -
2021-07-31
刷题记录:[CISCN 2019 初赛]Love Math 思路一 思路二 思路三 总结 题目复现链接:https://buuoj.cn/challenges参考链接:2019CISCN web题赛-JustSoSo;love_math(复现)2019全国大学生信息安全竞赛ciscn-writeup(4web)CISCN2019Web WP 源码如下:<?phperror_reporting(0);//听说你很喜欢数学,不知道你是否爱它胜过爱flagif(!isse转载 2021-07-31 21:24:39 · 155 阅读 · 0 评论 -
NO.2-17 安洵杯2019 easy_serialize_php (反序列化中的对象逃逸)
0x01 题目源码 <?php$function = @$_GET['f'];function filter($img){ $filter_arr = array('php','flag','php5','php4','fl1g'); $filter = '/'.implode('|',$filter_arr).'/i'; return preg_replace($filter,'',$img);}if($_SESSION){ unset($_SE转载 2021-07-31 17:50:44 · 180 阅读 · 0 评论 -
NO.2-16 [BJDCTF2020]Cookie is so stable
知识点 SSTI twig题目提示cookie在user处尝试注入{{7*'7'}} 回显7777777 ==> Jinja2{{7*'7'}} 回显49 ==> Twig这里为Twigpayload{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("id")}}获取flag{{_self.env.registerUndefinedF...转载 2021-07-27 16:13:56 · 114 阅读 · 0 评论 -
NO.2-15 [De1CTF 2019]SSRF Me
题目给了源码:#! /usr/bin/env python#encoding=utf-8from flask import Flaskfrom flask import requestimport socketimport hashlibimport urllibimport sysimport osimport jsonreload(sys)sys.setdefaultencoding('latin1')app = Flask(__name__)secert_key =转载 2021-07-27 15:40:28 · 159 阅读 · 0 评论 -
NO.2-14 [ASIS 2019]Unicorn shop*
打开题目,看到购买页面:尝试购买,输入ID=1,Price=2,发现购买失败:再尝试购买最贵的独角兽,发现有问题:提示我们只能输入一个字符。再加上在head标签里的提示:猜测可能是编码转换问题,而且如果成功购买第四个独角兽就可以成功得到flag。题中编码为UTF-8编码,我们可以用UTF-8与Unicode的编码转换问题来绕过一个字符的限制。在这个网站搜索一个大于1337的数字,如:这题的大致思路是这样的:传入UTF-8编码,在后端处理的过程中,发现该UTF-8编码无法解析为ASCII.转载 2021-07-27 14:19:57 · 109 阅读 · 0 评论 -
NO.2-13
首先利用PHP伪协议读取index.php源代码payload如下:php://filter/read=convert.base64-encode/resource=index结果如图所示源代码如下<?php $file = $_GET['category']; if(isset($file)) { if( strpos( $file, "woofers" ) !== false || strpos( $file, "meowers" )转载 2021-07-27 13:06:02 · 241 阅读 · 0 评论 -
NO.2-12 [NCTF2019]Fake XML cookbook
打开环境,看到登录框,一开始以为是sql注入,后来才知道是xml外部实体注入(XXE)。XXE漏洞全称XML External Entity Injection 即XML外部实体注入。XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取、命令执行、内网端口扫描、攻击内网网站、发起Dos攻击等危害。XXE漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件。XXE常见利用方式与S转载 2021-07-27 12:59:21 · 123 阅读 · 0 评论 -
NO.2-11 [网鼎杯 2020 朱雀组]phpweb
过程1.主页面抓包,发现可以传参。执行file_get_contents。可以看到index.php的源代码。里面有一个十分严格的过滤,几乎过滤了所有危险函数。下面是一个类,里面有析构函数,可以考虑到使用反序列化构造命令执行。<?php$disable_fun = array("exec","shell_exec","system","passthru","proc_open","show_source","phpinfo","popen","dl","eval","proc_te...转载 2021-07-27 02:41:35 · 122 阅读 · 0 评论 -
NO.2-8 [BJDCTF2020]ZJCTF,不过如此
知识点 php://input filter伪协议 preg_replace() /e模式命令执行 题目源码<?phperror_reporting(0);$text = $_GET["text"];$file = $_GET["file"];if(isset($text)&&(file_get_contents($text,'r')==="I have a dream")){ echo "<br><h1>...原创 2021-07-26 01:58:54 · 115 阅读 · 0 评论 -
NO.2-7 [BJDCTF2020]The mystery of ip
SSTI模板注入:之前也写过:https://www.cnblogs.com/wangtanzhi/p/12238779.htmlSSTI模板注入:模板注入涉及的是服务端Web应用使用模板引擎渲染用户请求的过程服务端把用户输入的内容渲染成模板就可能造成SSTI(Server-Side Template Injection)模板引擎模板引擎(这里特指用于Web开发的模板引擎)是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTM原创 2021-07-26 01:34:09 · 147 阅读 · 0 评论