buuctf web

buuctf web warm up

进去界面后,可以看到一张滑稽表情图,老规矩,先f12,查看网页源码:如图:buuctf web_第1张图片
看到注释里面给了个提示,source.php,那么显然,就需要审计代码了
跳转如下地址http://4d06e63d-087b-496a-8c15-92a4b42f001d.node3.buuoj.cn/index.php?file=source.php,如图:buuctf web_第2张图片
比较菜,php代码审计我也不太懂,大佬是这样解释的:buuctf web_第3张图片
原地址:https://www.cnblogs.com/xhds/p/12266072.html
那位大佬说访问hint界面就会这样:在这里插入图片描述
这说明,flag在ffffllllaaaagggg里面,大佬的代码审计是这样的:
1 class emmm
2 {
3 public static function checkFile(&$page)
4
5 {
6 //白名单列表
7 KaTeX parse error: Expected 'EOF', got '&' at position 112: …ng()判断变量是否是字符串 &̲&用了逻辑与两个值都为真才执行…page) || !is_string( p a g e ) ) 10 e c h o " y o u c a n ′ t s e e i t A " ; 11 r e t u r n f a l s e ; 12 13 / / 检 测 传 进 来 的 值 是 否 匹 配 白 名 单 列 表 page)) { 10 echo "you can't see it A"; 11 return false; 12 } 13 //检测传进来的值是否匹配白名单列表 page))10echo"youcantseeitA";11returnfalse;1213//whitelist 如果有则执行真
14 if (in_array($page, w h i t e l i s t ) ) 15 r e t u r n t r u e ; 16 17 / / 过 滤 问 号 的 函 数 ( 如 果 whitelist)) { 15 return true; 16 } 17 //过滤问号的函数(如果 whitelist))15returntrue;1617//(page的值有?则从?之前提取字符串)
18 $_page = mb_substr(
19 p a g e , 200 , 21 m b s t r p o s ( page, 20 0, 21 mb_strpos( page,200,21mbstrpos(page . ‘?’, ‘?’)//返回 p a g e . ? 里 卖 弄 ? 号 出 现 的 第 一 个 位 置 22 ) ; 2324 / / 第 二 次 检 测 传 进 来 的 值 是 否 匹 配 白 名 单 列 表 page.?里卖弄?号出现的第一个位置 22 ); 23 24 //第二次检测传进来的值是否匹配白名单列表 page.??22);2324//whitelist 如果有则执行真
25 if (in_array($_page, w h i t e l i s t ) ) 26 r e t u r n t r u e ; 27 28 / / u r l 对 whitelist)) { 26 return true; 27 } 28 //url对 whitelist))26returntrue;2728//urlpage解码
29 p a g e = u r l d e c o d e ( _page = urldecode( page=urldecode(page);
30
31 //第二次过滤问号的函数(如果$page的值有?则从?之前提取字符串)
32 $_page = mb_substr(
33 p a g e , 340 , 35 m b s t r p o s ( _page, 34 0, 35 mb_strpos( page,340,35mbstrpos(_page . ‘?’, ‘?’)
36 );
37 //第三次检测传进来的值是否匹配白名单列表 w h i t e l i s t 如 果 有 则 执 行 真 38 i f ( i n a r r a y ( whitelist 如果有则执行真 38 if (in_array( whitelist38if(inarray(_page, $whitelist)) {
39 return true;
40 }
41 echo “you can’t see it”;
42 return false;
43 }
44 }
但本人不会php代码审计,所以也看的毫无头绪,所以呢?再进行这样的操作:http://5c8d494a-f267-4971-bcdb-082104d64a92.node3.buuoj.cn/index.php?file=hint.php?../…/…/…/…/ffffllllaaaagggg,跳转之后就有了flag:
在这里插入图片描述
虽然是write up,但一半是参考大佬的,所以自己就总结一下吧
首先要学会HTML,看得懂网页源码,其次学会php,可以看得懂代码,看不懂就无法分析,但其实质上,这道题也介绍了网站的体现方式,不懂还是要学啊

前几天事多,接着更新,
EasySQL
打开buuctf给的网址,你会发现这个界面buuctf web_第4张图片
我当时脑袋一热决定用admin初始密码登录,却发现这就是个SB行为,哪会这么简单。。。。。
buuctf web_第5张图片
其实,看题目就知道,这是一个简单的SQL题目,要用到万能密码。admin’or’1’='1然后得到flag,是不是巨简单?
buuctf web_第6张图片
又到了总结部分了,就如题吧easysql,很简单的sql注入,这需要掌握基础的sql语法,所以还是自己太菜了,只知道这么多

have fun
buuctf web_第7张图片
看到这只猫没?人畜无害,快给老子变!!!
转入正题,f12查看源代码
buuctf web_第8张图片
因为最近在学HTML和PHP,这还是看的懂得,绿色部分注释,如果cat=dog,则输出下面这些东西,那很像flag的样子,那就试试吧
buuctf web_第9张图片
然后就试出来了,摸着良心讲,这是唯一一个我搞的清清楚楚的题目,不禁内心有了一丝丝的欣慰

接着来吧。。。

[极客大挑战 2019]Secret File
先查看网页源码吧
buuctf web_第10张图片
看到里面还有跳转,点进去
在这里插入图片描述
然后再查看源码
buuctf web_第11张图片
再点进去,就会是这样
buuctf web_第12张图片
为什么呢?其实我也不太懂,看了下其他大佬的题解,
在这里插入图片描述
所以显然,这是个抓包题,由于自己也是个新手,就用下大佬的图吧,哈哈
buuctf web_第13张图片
再跳转
buuctf web_第14张图片
看得到有文件包含漏洞,然后用到file伪协议
http://5baea1d0-27d8-4aea-add8-406acff03ff2.node3.buuoj.cn/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php
buuctf web_第15张图片
下面那段base64解密即可
总结一下吧,这个首先用到抓包,然后有个include文件包含漏洞,传入的file经过了一些过滤,但是没有过滤filter,我们可以用php://fileter来获取文件。所以大概就这样吧,自己也是云里雾里的

[GXYCTF2019]Ping Ping Ping
打开链接
buuctf web_第16张图片
那就随便ping吧
ip=1|ls
在这里插入图片描述
你会发现源码都看不了
buuctf web_第17张图片
果然啊,屏蔽了空格
咱们试试替代空格吧
空格有很多种代替方法。
%20、%09、$IFS 1 、 1、 1{IFS}、<>、<还可以用{} 比如 {cat,flag},这里发现$IFS$1可以使用。
buuctf web_第18张图片
然后你会发现还屏蔽了flag
那就再替代吧
buuctf web_第19张图片
咦?还不行吗?这时候吧,可能在网页源码了,f12走一波,
在这里插入图片描述
get flag

knife
buuctf web_第20张图片
进去之后是这样的,话不多说·,上蚁剑。密码Syc
buuctf web_第21张图片
buuctf web_第22张图片
链接完成
buuctf web_第23张图片

查找flag
buuctf web_第24张图片
点击获取,搞定
buuctf web_第25张图片upload
buuctf web_第26张图片
打开链接,上传代码,因为长传会检测后缀名,所以就得绕过:php,php3,php4,php5,phtml.pht
上传一句代码
buuctf web_第27张图片
bp拦截,把格式改成图片类即可
buuctf web_第28张图片改完上传
再用蚁剑链接
密码就在上传的代码里面,连接完成,查看目录
buuctf web_第29张图片

flag就在根目录下面buuctf web_第30张图片

你可能感兴趣的:(buuctf web)