》信息搜集
robots.txt信息泄露
robots.txt 一个非常重要得到文件,通常情况下,主要用于指定搜索引擎蜘蛛spider在网站里的抓取范围,用于声明蜘蛛不可以抓取哪些网站资源及可以抓取哪些网站资源。
可以使用rul/robots.txt
查找一个有没有flag文件
phps源码泄露
phps文件就是php的源代码文件,通常用于提供给用户(访问者)直接通过Web浏览器查看php代码的内容。
因为用户无法直接通过Web浏览器“看到”php文件的内容,所以需要用phps文件代替。
利用目录扫描工具,例如御剑,扫描出靶场目录下有个index.php(一般可以猜出来),将index.php改为index.phps访问,自动下载了index.php的源码,打开获取flag
同样,zip泄露就是目录扫描发现有www.zip,直接下载即可获取。
生产环境
试试.git
和.svn
vim缓存信息泄露
直接访问index.php.swp
》爆破
账号密码问题
通过了base64编码,所以使用bp解码后,用intruder进行爆破,添加密码本,设置两个规则。
推测默认用户名为admin,因此前缀添加admin:
编码为base64,进行爆破。
随机数问题
<?php
/*
# -*- coding: utf-8 -*-
# @Author: h1xa
# @Date: 2020-09-03 13:56:57
# @Last Modified by: h1xa
# @Last Modified time: 2020-09-03 15:47:33
# @email: h1xa@ctfer.com
# @link: https://ctfer.com
*/
error_reporting(0);
include("flag.php");
if(isset($_GET['r'])){
$r = $_GET['r'];
mt_srand(hexdec(substr(md5($flag), 0,8)));
$rand = intval($r)-intval(mt_rand());
if((!$rand)){
if($_COOKIE['token']==(mt_rand()+mt_rand())){
echo $flag;
}
}else{
echo $rand;
}
}else{
highlight_file(__FILE__);
echo system('cat /proc/version');
}
Linux version 5.4.0-163-generic (buildd@lcy02-amd64-067) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)) #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 Linux version 5.4.0-163-generic (buildd@lcy02-amd64-067) (gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.2)) #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023
分解来看
$r = $_GET['r'];
mt_srand(hexdec(substr(md5($flag), 0,8)));
$rand = intval($r)-intval(mt_rand());
......
echo $rand;
在传入r的参数后,rand的数值为r和mt_rand()的随机数进行相减,所以传入?r=0
获得到mt_srand(hexdec(substr(md5($flag), 0,8)))
的数值
因此r传入2057801990后,不会回显任何内容,因为此时没有传入token的值
后面:
if($_COOKIE['token']==(mt_rand()+mt_rand())){
echo $flag;
而mt_rand()
的值由mt_srand(hexdec(substr(md5($flag), 0,8)))
中的hexdec(substr(md5($flag), 0,8))
决定的
得到cookie必须设置token为第2和第3次伪随机数的和
使用https://www.openwall.com/php_mt_seed/php_mt_seed-4.0.tar.gz
下载好后,在虚拟机输入在此目录输入make
即可安装。
使用php_mt_seed 2057801990
获取到第二和第三次的随机数值,注意php版本要大于7.0。
思路
通过传入r=0
获取到第一次的随机数,通过使用php_mt_seed工具,通过第一次的随机数,获取到php版本在7.0以上的seed值。通过自己编写脚本,判断第一次的随机数是否正确,然后第二次和第三次的随机数相加即可。
管理系统
看到有两个地址,录取名单和学籍信息查询
进入学籍信息查询发现身份证加密,所以需要爆破。爆破内容为出生年月日
开始爆破,一开始怀疑是传入的内容有问题,结果往前推了十年,89-99年期间才入学…
路径爆破
地址0/1/2.txt
对该地址进行修改,会发现重定向或者是死循环。
所以尝试对目录爆破,分别对0和1设置变量
数值设置为0-100,步进为1
尝试爆破,发现可能是因为后面没删2.txt导致的。
搜了一下302状态码:重定向 当你更改url时,会不断的在前面加0/1/ 一直重定向 页面崩溃
爆破的话 就爆破目录 去除2.txt即可
参与讨论