CTF Web学习(二)
代码审计、burp suite应用CTF Web学习目录链接
CTF Web学习(一):基础篇及头文件修改、隐藏
CTF Web学习(二):代码审计、burp suite应用
CTF Web学习(三):python脚本的编写及应用
CTF Web学习(四):SQL注入
文章目录
- CTF Web学习(二)
- 前言
- 一、BugKu Web题
-
- (一)BugKu Web5 矛盾
- (二)BugKu Web8 文件包含
- (三)BugKu Web9 flag In the variable !
- (四)BugKu Web11 网站被黑了 黑客会不会留下后门
- (五)BugKu Web12 本地管理员
- (六)BugKu Web13 看看源代码?
- (七)BugKu Web14 click me? no
- (八)BugKu Web15 好像需要密码
- (九)BugKu Web16 备份是个好习惯
- (十)BugKu Web21 作者:御结冰城
- (十一)BugKu web22 送给大家一个过狗一句话
- (十二)BugKu web23 xxx二手交易市场
- (十三)BugKu web 字符?正则?
- (十四)BugKu web SQL约束攻击
- (十五)BugKu web md5 collision(md5碰撞)
- (十六)BugKu web 各种绕过哦
- (十七)BugKu web txt????
- (十八)BugKu web 细心
- (十九)BugKu web flag.php
- 总结
前言
常见的CTF Web的题型都是以php、mysql环境搭建的。因此需要了解简单的php、MySQL、python代码,可以简单的阅读代码,最好还能写一下。第二期的学习主要针对php代码审计展开,我也是不太懂,都是百度搜关键字一句一句读下去,对于萌新的我来说有点费事。有错误的地方请大佬指正。此次主要是用bugku的题,大神可以直接略过。
一、BugKu Web题
以下的题都是出自bugku,但是链接不是现在bugku官网的链接,但是题型是一样的,有兴趣的人可以去先做一做,做不下去可以再来看看。
(一)BugKu Web5 矛盾
链接:http://123.206.87.240:8002/get/index1.php
$num=$_GET['num']; #取值num
if(!is_numeric($num)) #num不能为数字
{
echo $num;
if($num==1) #num==1
echo 'flag{**********}';
}
WriteUp:简单的一看提示,num不能为数字,但是又要等于1才能给出flag。就和题目一样“矛盾”。因此我要知道php的弱类型的比较。可以这样理解
==为弱类型
===为强类型(两边绝对相等)
在这里解释以下弱类型:在和数字比较是,弱类型会取字符串前面给出的所有数字,即:1abc == 1,会变成1abc会变成1在比较,123abc==1,123abc会变成123在比较。这道题为弱类型,因此可以解决这种矛盾的题给num=1a即可。
(二)BugKu Web8 文件包含
<?php
include "flag.php";
$a = @$_REQUEST['hello']; #取hello的值
eval( "var_dump($a);"); #执行
show_source(__FILE__);
?>
WriteUp:$_REQUEST函数为取值,get和post的值都可以取。最后拼接一下:
?hello=print_r(flie(‘flag.php’))
var_dump()为递归执行,有点像print_r(),因此在拼接的时候写不写print_r都无所谓。
(三)BugKu Web9 flag In the variable !
链接:http://123.206.87.240:8004/index1.php
flag In the variable ! <?php
error_reporting(0);
include "flag1.php";
highlight_file(__file__);
if(isset($_GET['args'])){
$args = $_GET['args'];
if(!preg_match("/^\w+$/",$args)){
die("args error!");
}
eval("var_dump($$args);");
}
?>
WriteUp:题目已经给出flag在变量里面,看代码里面只有一个变量 a r g s , 还 是 我 们 准 备 给 它 的 , 经 过 一 堆 猜 想 上 面 f l a g 、 k e y 、 p a s s 等 无 果 后 , 百 度 一 下 p h p 是 否 有 全 局 变 量 , 一 查 还 真 有 G L O B A L S 。 它 的 意 思 是 全 局 有 效 的 变 量 都 在 里 面 。 那 么 我 直 接 将 G L O B A L S 赋 值 给 args,还是我们准备给它的,经过一堆猜想上面flag、key、pass等无果后,百度一下php是否有全局变量,一查还真有GLOBALS。它的意思是全局有效的变量都在里面。那么我直接将GLOBALS赋值给 args,还是我们准备给它的,经过一堆猜想上面flag、key、pass等无果后,百度一下php是否有全局变量,一查还真有GLOBALS。它的意思是全局有效的变量都在里面。那么我直接将GLOBALS赋值给args,一执行就出来了。
一看flag在变量ZFkwe3里面,这个名字能猜到就鬼了。
(四)BugKu Web11 网站被黑了 黑客会不会留下后门
链接:http://123.206.87.240:8002/webshell/
WriteUp:这题拿上后,F12看了,没东西,截包看了,也没东西,注入试一下,也没有东西。那么只能在试试扫描目录了。说起扫描目录,很多工具都可以,其实玩的都是字典,谁的字典强ÿ