i春秋做题记录 web(一)

前言:
时间过的真快呀,一转眼半学期就过去了( ̄m ̄);攻防世界上的题差不多刷完了(剩下的都是不会的T_T),这周就来做做 i春秋的题,顺便记录下。


1、想怎么传就怎么传,就是这么任性。

题型: Web Upload
i春秋做题记录 web(一)_第1张图片
这题就是一个简单的文件上传题目;先用一个普通的php小马试一下:
然后发现文件是上传成功了,但是被过滤掉了
于是在网上找到另一个一句话,将php用大写绕过 修改后如下:

然后连接菜刀就能看到flag了。
i春秋做题记录 web(一)_第2张图片

2、出题人就告诉你这是个注入,有种别走!

题型: Web Sql
i春秋做题记录 web(一)_第3张图片
打开题目:
i春秋做题记录 web(一)_第4张图片
看到题目的url就知道要对id注入。首先试一下order by,发现错误,可能是关键字过滤。试了试/**/还是不行,改用<>发现可以了,如图:
i春秋做题记录 web(一)_第5张图片
测试得字段数为3,接下来就没啥好说的了,按顺序,爆库爆表爆字段
i春秋做题记录 web(一)_第6张图片
i春秋做题记录 web(一)_第7张图片
i春秋做题记录 web(一)_第8张图片
i春秋做题记录 web(一)_第9张图片
得到flag。

3、这个真的是爆破。

题型:Misc Web
i春秋做题记录 web(一)_第10张图片
打开题目,看到一段php语句:

error_reporting(0);// 关闭错误报告
session_start();//启动会话
require('./flag.php');
if(!isset($_SESSION['nums'])){//isset() — 检测变量是否设置。
  $_SESSION['nums'] = 0;
  $_SESSION['time'] = time();//返回当前时间的 Unix 时间戳
  $_SESSION['whoami'] = 'ea';
}

if($_SESSION['time']+120=10){//循环10次输出flag,暴力破解
  echo $flag;
}

show_source(__FILE__);
?>

因为md5不能对数组进行处理,MD5()计算数组会返回null,里面的判断是用==所以我们用数组传值那么substr(md5($value),5,4)==0这个条件恒成立。
因为我刚访问由于这段代码$_SESSION['whoami'] = 'ea'; 我们要先传入?value[]=ea

那么nums就会自增,$_SEESION['whoami'] = 随机2个字母

并同时输出到页面上,我们再根据输出的字符修改$value[0].$value[1]的值即可,只要操作大于等于10次,就可以出flag 。
i春秋做题记录 web(一)_第11张图片
综上所述循环10次后输出flag:
i春秋做题记录 web(一)_第12张图片

4、没错!就是文件包含漏洞

题型:Web Upload
知识点:
1、当php开启allow_url_include的时候,可以用php://input伪协议包含文件
2、php中的system命令执行函数
i春秋做题记录 web(一)_第13张图片

这题也挺简单,利用了php伪协议

  1. php://input
    构造场景:本地web服务器根目录下有文件phpinput_server.php,代码如下:

在浏览器中按照如下方式访问:
地址栏输入的是:http://localhost/phpinput_server.php?a=php://input
post框直接输入一段数据
Excute后,脚本会在页面中输出这段数据。
i春秋做题记录 web(一)_第14张图片
总结:此种方式可以用来获取post数据,但不能获取get数据。

既然题目是文件包含,我们来看下关键性函数的状态
allow_url_include
在这里插入图片描述
allow_url_include为On而allow_url_fopen为Off的时候,我们可以用用php://input伪协议进行包含
i春秋做题记录 web(一)_第15张图片
可以看到目录下有三个文件,flag是在第一个文件里
查看dle345aae.php:
i春秋做题记录 web(一)_第16张图片右键查看源码:得到flag
i春秋做题记录 web(一)_第17张图片

你可能感兴趣的:(Web)