概述
涉及的题目有:攻防世界baby web、inget、easyupload、
fileinclude、fileclude、easy php、file_include
涉及
index.php 、超基本sql注入、user.ini及一句话木马、php审计、php://filter协议读取文件的运用、弱比较、php://filter协议下不同编码运用
baby_web

题目表述是“想想初始页面是哪个”,我们很容易联想到index.php, 那么输入index.php,发现又被重新定向到了1.php,那么我们按f12查看“网络”,就可以找到未被定向到的index.php,在flag一栏中就可以找到flag啦

inget
打开容器后显示:please enter id,and Try to bypass
那先尝试通过get方法传入id的值,猜测id为admin

典中典,勾引一波) 我们啥也不知道,也没有hint,只能get,那么自然联想到sql注入
什么是sql注入?
原理如下:
假设后端查询语句为:
SELECT * FROM users WHERE id = '$id';
其中 $id 是用户输入的参数。
当用户输入 ' or '1'='1 时,参数替换后查询变为:
SELECT * FROM users WHERE id = '' or '1'='1';
注意到' or '1'='1中第一个’和最后一个’是为了闭合后端原本存在的’号
所以这题payload就有了:/?id=' or '1'='1
也可以/?id=' or 1=1 -- +其中–+起到注释后文的作用
easyupload

打开这个样,他要我们传照片
上传类型题目,还要是图片,我们可以运用user.ini
.user.ini:用户配置文件 auto_prepndend_file——指定在每个PHP页面执行前所要执行的代码
那么我们可以以.user.ini为桥梁,让服务器跑一句话木马
user.ini怎么写呢
1 | GIF89a |
接着,文件a写为:
1 | GIF89a |
这个就是一个一句话木马,先在txt中写好,加上gif89a图片文件头,再改后缀为jpg
下面就可以进行上传了,因为要传一个不属于图片的.user.ini,所以我们要在bp抓包后,修改文件类型再上传

文件类型修改为 image/jpg,再改一下文件名,//win中文件命名不能以 . 开头
然后a就随便传,最后打开蚁剑进行连接

连上就能再目录找到flag了