随笔分类 - buuctf
ctf笔记
摘要:打开链接,需要上传文件,和题目相呼应应该是文件上传 上传php等其他类型文件,会显示 将php改为jpg后,会显示 说明存在黑名单过滤。可以利用burp修改文件格式,但是懒得做了,网上查了一下答案。不过这种上传也是第一次见,所以记录一下 由于过滤了<?,所以可以利用GIF89a图片头文件欺骗来绕过
阅读全文
摘要:打开链接 在menu菜单里发现了另一个页面,进入payflag要求花100000000元购买flag,前提是属于 CUIT学校的学生,并且密码必须正确。 没有什么思路,查看源代码,发现如下提示 is_numeric() 函数用于检测变量是否为数字或数字字符串。(如:678或者“678”) post传
阅读全文
摘要:打开链接开了一句话,试着找出源文件! 可以联想到源码泄露,使用扫描工具dirsearch扫描目录,但是由于请求太多所以可能扫不出来,网上查了一下原题,备份文件是index.php.bak。 下载源代码审计 <?php include_once "flag.php"; if(isset($_GET['
阅读全文
摘要:打开链接,发现如图 正常操作,查看是否是前端绕过,上传一句话木马,发现不可行。尝试抓包,修改文件格式 发现也不行,那猜测可能是.htaccess文件解析,所以先将一句话木马改为图片格式 发现可以上传成功,接着上传.htaccess 这里注意,要修改上传的文件类型Content-Type: image
阅读全文
摘要:打开连接如图 首先随便上传一句话木马,但是发现不可以 查看源代码,发现 可能是前端绕过,所以禁用js,重新上传 也没有成功,可能后端也做了过滤,尝试其他格式的一句话木马 发现后缀名为phtml的一句话木马可以上传成功 并且给出了上传路径,那么使用蚁剑连接 在根目录下获得flag
阅读全文
摘要:打开链接如图 既然是文件上传,那么先上传一句话木马试试,结果不行 提示不是图片,抓包修改文件格式试试 还是不行,但是还有其他格式文件可以试试,例如:php,php3,php4,php5,phtml.pht 通过尝试,发现phtml可以,但是不能带符号<? 修改一句话木马 发现可以上传成功,那么接下来
阅读全文
摘要:打开链接,给出如下界面 flag.txt提示了flag存放的位置, 直接查看会报错 welcome.txt存放了“render”,hints.txt存放了md5(cookie_secret+md5(filename)) render函数百度搜索,是一个渲染函数以及和题目easy_tornado的提示
阅读全文
摘要:打开链接,直接手工尝试注入,发现将and,union,=等过滤掉了 尝试一波报错注入 ?username=1'or(updatexml(1,concat(0x7e,version(),0x7e),1))%23&password=1 发现存在报错注入,那么接下来查看当前数据库 ?username=1'
阅读全文
摘要:打开链接,给了一堆代码,查看源码 嗯,首先可以确定的是flask,那么应该存在ssti模板注入漏洞 验证一下,果然存在,如下图 源代码中 app.config['FLAG'] = os.environ.pop('FLAG') 这里配置了一个FLAG的config,猜测f浪就放在其中,但是源码中把co
阅读全文
摘要:打开链接 只给了个登录界面 先简单测试一下 username输入admin时,会显示wrong pass 输入其他会显示wrong user 然后查看源代码,发现了一串字符。 经过base32和base64解码得到sql语句 用Order by来查询有几列 证明有3列 利用联合查询临时插入数据:se
阅读全文
摘要:既然是sql注入,先查看有没有过滤字符 or union select应该都被过滤了 尝试绕过方法,发现双写可以绕过,先用ununionion seselectlec去判断有几列 ?username=123&password=1' ununionion seselectlect 1,2,3%23 发
阅读全文
摘要:打开链接 先找线索,查看hint 但是并没有思路,查看其他页面,可以在FLag页面有个输入框 输入测试,发现存在ssti漏洞 用burp抓包,找到注入点 输入{{7*‘7’}},返回49表示是 Twig 模块 输入{{7*‘7’}},返回7777777表示是 Jinja2 模块 证明是Twig模板
阅读全文
摘要:打开链接,发现提示有备份网站, dirsearch扫描网站目录,发现了/www.zip文件,下载下来 打开flag.php发现并不是flag,查看index.php 可能存在发序列化漏洞。 继续查看class.php <?php include 'flag.php'; error_reporting
阅读全文
摘要:打开链接,发现是php审计 <?php error_reporting(0); if(isset($_GET['code'])){ $code=$_GET['code']; if(strlen($code)>40){ die("This is too Long."); } if(preg_match
阅读全文
摘要:打开环境,感觉有很多东西,但是也没找到什么特别提示,用dirseach扫扫,看看是否有收获 git源码泄露,用githack将源码下载下来 查看源码 <?php include 'flag.php'; $yds = "dog"; $is = "cat"; $handsome = 'yds'; for
阅读全文
摘要:打开环境后有一个输入的窗口,查看源代码,给了提示 分析源码 @app.route('/getUrl', methods=['GET', 'POST']) def getUrl(): url = request.args.get("url") host = parse.urlparse(url).ho
阅读全文
摘要:打开链接,给了一个输入框,无论输入什么都不回显 F12,查看发现 在数据库语句里就构成了select * from ‘admin’ where password= ''or’6xxxxxx ’ 相当于 password= ‘’ or 1 变成永真 网上查阅到ffifdyop字符串会造成漏洞 ffif
阅读全文
摘要:打开链接 发现有登录选项,注册并进入 题目提示要买到ipv6,那就必须先找到ipv6的所在页面 脚本跑 import threading import time import requests def go(st, ed): for i in range(st, ed): url = 'http:/
阅读全文
摘要:打开链接,发现又是代码审计 <?php $text = $_GET["text"]; $file = $_GET["file"]; $password = $_GET["password"]; if(isset($text)&&(file_get_contents($text,'r') "welco
阅读全文
摘要:X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC
阅读全文

浙公网安备 33010602011771号