BUUCTF-Web-[极客大挑战 2019]Http
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 前端检查打开靶机,F12查看前端源码,发现Secret.php文件,访问看看 Referer字段你不来自’https://Sycsecret.buuoj.cn‘显示请求头不对,使用Burp抓包修改请求头,找到Get请求Secret.php历史记录发送到RepeaterHTTP Referer(或 Referrer) 是 HTTP 请求头的一个字段,用于表示当前请求是从哪个网页链接过来的。它的主要作用是告诉服务器用户浏览器的来源页面,通常用于统计分析、防盗链、日志记录等场景。通过添加请求头来告诉服务器访问来源 1Referer:https://Sycsecret.buuoj.cn User-Agent字段User-Agent 是 HTTP 请求头中的一个重要字段,用于标识发起请求的客户端(如浏览器、爬虫、应用程序等)的软件类型、版本、操作系统等信息。服务器可以根据该字段返回适配的内容,或用于统计分析、访问控制等场景。 示例1Mozilla/5.0 (Windows NT 10.0; Win64; x64) ...
BUUCTF-Web-[强网杯 2019]随便注1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,发现一个查询入口,查询不同的数字返回不同的字符串 判断是否为字符型注入11' 判断为字符型注入 确定字段数11' order by 3;# 11' order by 2;# 确定字段数为2 爆数据库11' union select database(),version();# 发现联合查询被过滤 改用堆叠注入 11';show databases;# 爆表11';show tables;# 爆列两个表都爆一下;words表: 11';show columns from words;# 1919810931114514 表: 11';show columns from `1919810931114514`;# //数字表名需要用反引号括起来 可以看到words表有id data两个字段,1919810931114514表有最想要的flag字段 爆flag返回到第一个网页(就是打开靶机进入的第一个网页)我们输入p...
BUUCTF-Web-[极客大挑战 2019]Secret File
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,没有明显提示信息,F12看看源码发现隐藏文件Achieve.php,访问一下点击SECRET,查找源码没有发现有用信息,返回上一个页面查看源码,又发现一个隐藏文件action.php,访问一下还是返回这个页面 试试Burpsuit抓包看看有没有其他信息隐藏在action.php这个请求页面有发现一个隐藏文件secre3t.php访问看到一段源码 1234567891011<?php highlight_file(__FILE__); error_reporting(0); $file=$_GET['file']; if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){ echo "Oh no!";...
BUUCTF-Web-[极客大挑战 2019]LoveSQL1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,看到熟悉的登录页面,尝试1,1’看看是什么类型的sql注入回显sql语句报错,判断为字符型注入 使用堆叠注入发现某些字段或’;’被过滤无法进行堆叠注入,更改思路,爆字段数更改为1’ order by 4#判断字段段数为3,即列数只有三列推测注入点为字段2和字段3 使用联合查询爆数据库payload: 11' union select 1,database(),3 # 数据库名为’geek’ 爆表名,payload: 11' union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema='geek'# 结合题目LoveSQL,优先选l0ve1ysq1进行爆破 11' union select 1,database(),group_concat(column_name) from information_schem...
BUUCTF-Web-EasySql1[SUCTF 2019]EasySQL1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,联系题目EasySql推测为sql注入点,尝试输入字符串,数字,发现数字输入有回显,推测为数字注入回显为数组输出,判断为PHP执行SQL查询后获取的结果 尝试堆叠注入, 11;show databases;# //查询所有数据库 继续查询 11;show tables;# //列出当前数据库中的所有表,类似文件系统中的“列出所有文件”) 看到名为Flag的表名 11;select * from Flag //从 Flag 表中选取所有数据,* 表示“所有字段” 发现被过滤了 推测其sql语句为: 1select <post输入框内容> from Flag; 尝试输入*号构成:select * from Flag;发现没有任何回显,猜测查询是使用的sql语句是或(||)回显 1select <post输入框内容> || flag from Flag; Mysql中的|| ||运算符相当于or,即 : 1 || 0 =10 ...
BUUCTF-Web-[GXYCTF2019]Ping Ping Ping1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 进入靶机,提示用GET传参传入参数ip 传入/?ip=127.0.0.1试试结合题目Ping ping ping,推出是道exec”ping”题 结合系统命令ls试试看到index.php和flag.php文件 cat flag.php试试发现空格被过滤,命令绕过空格: 123${IFS}$IFS$9%09 发现’flag’字符被过滤,是怎么被过滤的?看看源码文件index.php能不能查看,分析一下这段代码 12345678910111213141516171819<?ip=|\'|\"|\\|\(|\)|\[|\]|\{|\}/", $ip, $match)){ echo preg_match("/\&|\/|\?|\*|\<|[\x{00}-\x{20}]|\>|\'|\"|\\|\(|\)|\[|\]...
BUUCTF-Web-[ACTF2020 新生赛]Exec 1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 下列知识点解释源自pikachu靶场(很好的web入门靶场) RCE漏洞RCE(remote command/code execute)概述RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 远程系统命令执行一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。 而,如果,设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器。 远程代码执行同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。 不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。因此,如果需要给前端用户提供操作类的API接口,一...
BUUCTF-WEB-[HCTF 2018]WarmUp1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开靶机,看到一个笑脸没有什么有用的信息,F12看看源码,发现隐藏文件source.php,通过URL访问文件,看到一大段源码,题目为php 代码审计,那就分析一下代码 代码分析12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 <?php highlight_file(__FILE__); //会高亮显示当前PHP文件的源代码,显示方面 class emmm //定义一个类emmm { public static function checkFile(&$page) //emmm类中checkFile()方法,用于检查用户请求的文件是否合法 { $whitelist = ["source"=>"sourc...
BUUCTF-WEB-[ACTF2020 新生赛]Includ1
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 打开环境,发现一个超链接跳转到一个新页面,只看到一个语句:can you find out the flag?查看两个页面的源码也没有什么可用信息,但注意一下该网页的URL,后面以GET请求访问文件flag.php想起题目内容Include,文件包含,试试伪协议 最常用的是php://filter (用于读取源码)php://filter的基本语法: 1php://filter/<要应用的过滤器>/resource=<文件路径> 过滤器:指定对数据流进行何种处理(如 convert.base64-encode)resource=<文件路径>:指定要读取的文件(如 flag.php)本题就可编写一个常用的payload 1?file=php://filter/convert.base64-encoe/resource=flag.php flag会以base64编码形式出现,去网上随便搜索一个解码器获得flag php伪协议在...
BUUCTF-WEB- [极客大挑战 2019]Havefun
本文为记录个人信安小白的刷题路程,大佬勿喷,也同时希望文章能对您有所帮助 本题主要考查源码分析和GET请求首先进入网页,一段有趣的小猫界面,没有任何提示,查看源码看看 1234567<!-- $cat=$_GET['cat']; // 从GET请求获取cat参数 echo $cat; if($cat=='dog'){// 判断cat参数值是否为'dog' echo 'Syc{cat_cat_cat_cat}';// 输出flag } --> 这是一段后端代码,但看输出不一定是真的后端代码,但提示已经很明显了,当cat参数值为’dog’时,输出flag,构造payload 1http://题目地址/?cat=dog#访问URL 获得flag
