BUUCTF-Web-[BJDCTF2020]Cookie is so stable
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,注意到有三个页面BJDCTF,Flag(注入界面),Hint(提示界面),来到Flag界面,看到一个提交窗口,不是sql注入,看看Hint界面有什么提示,查看源码,提示和题目都有提到cookie,返回Flag,Cookie中有一个参数user,会不会是SSTI注入,确认为Twig的模板的SSTI,直接使用Twig模块注入的payload: 1{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag")}} 将Payload分成两部分来理解:{{_self.env.registerUndefinedFilterCallback("exec")}}{{_self.env.getFilter("cat /flag"...
BUUCTF-Web-[WUSTCTF2020]朴实无华
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现一个warning,提到了header,用Burp抓包看看请求头,没有发现什么有用的信息,用dirsearch扫描网站,访问robots.txt,访问fAke_flagggg.php,到这又卡住了,想起来header,这次有信息了,访问fl4g.php,看到源码了,但是有一些乱码,按住Alt键,网页上方会出现查看的选项,然后选择修复编码文字,进行代码审计, 123456789101112131415161718192021222324252627282930313233343536373839404142<?phpheader('Content-type:text/html;charset=utf-8');error_reporting(0);highlight_file(__file__);//level 1if (isset($_GET['num'])){ $num = $_GET['num']; if...
BUUCTF-Web-[BJDCTF2020]Mark loves cat
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,查看源码没有发现有用的信息,划到页面最下方,有个发送信件的模块,随便写发送过去,发现url用GET传参,测试过了不是SQL注入,那就dirsearch扫描网站,发现是.git/泄露,使用Githack获取源码,进行代码审计, 123456789101112131415161718192021222324252627282930313233<?phpinclude 'flag.php';//文件中定义了$flag变量//$flag = file_get_contents('/flag');$yds = "dog";$is = "cat";$handsome = 'yds';foreach($_POST as $x => $y){ $$x = $y;}foreach($_GET as $x => $y){ $$x = $$y;}for...
BUUCTF-Web-[GWCTF 2019]我有一个数据库
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,看到一行乱,F12查看源码和Burp抓包没有找到有用信息,用dirsearch扫描网站,发现了phpmyadmin,phpMyAdmin 是一套开源的、基于Web的MySQL数据库管理工具。可以通过URL打开,注意到他的版本号为4.8.1,通过网上搜索发现,这个版本的phpmyadmin在源码上存在文件包含漏洞,这是一个师傅对这个漏洞的讲解:https://blog.csdn.net/weixin_44037296/article/details/111039461我们这里主要看他漏洞的原理,漏洞位于index.php文件的文件包含逻辑中,具体在55-63行代码, 12345678910// If we have a valid target, let's load that script insteadif (! empty($_REQUEST['target']) && is_string($_REQUEST['target...
BUUCTF-Web-[NCTF2019]Fake XML cookbook
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现一个登录页面,尝试sql注入,没有返回sql报错,不是sql注入漏洞,F12查看源码没有发现有用信息,Burp抓包看看,发现是xml语言传输数据,那就是xxe漏洞了,构造payload: 12345<?xml version="1.0" encoding="utf-8"?><!DOCTYPE note[ <!ENTITY admin SYSTEM "file:///flag"> <!-- 定义admin实体,猜测flag文件在根目录下 --> ]><user><username>&admin;</username><password>123</password></user><!-- 解析admin实体 --> 获得flag XMLXML(可扩展标记语言,eXtensible Mar...
BUUCTF-Web-[GXYCTF2019]禁止套娃
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,F12查看,Burp抓包都没有获得什么信息,使用dirsear扫描网站,可以看到有flag.php文件,但是没有文件可以通过URL下载,但是可以看到几乎全是/.git/目录下的文件,推测为git泄露,使用GitHack工具,我的是kali虚拟机root模式下下载的, 1git clone https://github.com/lijiejie/GitHack 这个支持python3环境,获得index.php源码文件,下面进行代码审计, 123456789101112131415161718192021222324252627<?phpinclude "flag.php";echo "flag在哪里呢?<br>";if(isset($_GET['exp'])){ //过滤伪协议(如 data://, php:// 等) if (!preg_match('/data:\/\/|filter...
BUUCTF-Web-[BUUCTF 2018]Online Tool
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,题目直接给我们源码,进行审计, 123456789101112131415161718<?php//这段代码检查是否存在X-Forwarded-For HTTP头,如果存在则用其值覆盖客户端的真实IP地址(REMOTE_ADDR),和题目没太多关系if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];}//如果没有提供host GET参数,就高亮显示当前PHP文件内容if(!isset($_GET['host'])) { highlight_file(__FILE__);} else { //获取用户输入的host参数,使用escapeshellarg()和escapeshel...
BUUCTF-Web-[BJDCTF2020]ZJCTF,不过如此
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,给了我们一段源码,第一个if判断条件可以用data协议进行绕过, 1?text=data://text/plain,I have a dream 根据提示需要读取next.php文件,直接读取没有什么信息,需要使用php://filter伪协议, 1?text=data://text/plain,I have a dream&file=php://filter/convert.base64-encode/resource=next.php base64解码, 1234567891011121314151617181920<?php$id = $_GET['id']; //GET请求获得id参数,但感觉id参数没什么用$_SESSION['id'] = $id;function complex($re, $str) { //使用了preg_replace的/e修饰符,这会导致替换字符串被当作PHP代码执行 return ...
BUUCTF-Web-[BJDCTF2020]The mystery of ip
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现有三个网页可以选择,那我们直接进入flag界面,看到它将我们的ip地址显示出来了,查看源码,没有获得有用的信息,转到hint网页,看看有什么提示,查看源码,怎么知道我的ip呢,请求头里面获得的吗,Burp抓包改包试试看,添加X-Forwarded-For字段,输入127.0.0.1,回显是我们想象中的结果,那是不是会输入什么就回显什么,猜测为SSTI漏洞, 确认为SSTI漏洞注入,获得flag
BUUCTF-Web-[网鼎杯 2020 朱雀组]phpweb
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现一段关于data()函数的warning,页面每隔几秒刷新一次,warning中的时间也会不段改变,推测data()函数一直被调用,查看源码没有获得有用的信息,接下来Burp抓包看看,POST请求传入两个参数,func参数代表函数,p参数代表传入函数的参数值,那能不能执行其他函数呢,传入参数strtolower(AB),回显ab,说明可以利用传参执行其他函数,直接使用system函数,回显Hacker,看来对传入函数做了限制,试试用file_get_contents函数读取源码, 123456789101112131415161718192021222324252627282930<?php //过滤了很多函数 $disable_fun = array("exec","shell_exec","system","passthru","proc_open","show_s...