1.上传1个php
1.burp 抓包,发送到intruder,进行修改,
设置成Null payloads(相当于无限发送)
第二个,修改为Contiune indefinitely
再将线程改为20
3.访问1.php,不停的刷新
part 19
在php.ini中开启allow_url_include选项
allow_url_fopen 是 PHP 中的一个配置选项,它决定了 PHP 是否能够通过 URL (而非本地文件路径) 来打开文件。这个配置选项的值会影响到一些 PHP 中与文件操作相关的函数的行为,例如 fopen() 和 file_get_contents() 。具体来说,当 allow_url_fopen 被设置为 On(开启)时,这些函数可以用来 读取 或 写入 远程文件。而当该配置项被设置为 Off(关闭)时,这些函数 只能用于操作本地文件。
在开启 allow_url_include
配置项后,PHP 将能够通过 include
等函数 将远程文件包含至当前文件并将其作为 PHP 代码进行执行
。
和上面一样
part 20
move_uploaded_file()会忽略/.
对文件名进行判断,黑名单
burp 抓包,进行修改,改成php/.
part 21
explode(separator,string[,limit]) 函数,使用一个字符串分割另一个字符串,并返回由字符串组成的数组。
end(array)函数,输出数组中的当前元素和最后一个元素的值。
reset(array)函数,把数组的内部指针指向第一个元素,并返回这个元素的值
count(array)函数,计算数组中的单元数目,或对象中的属性个数
这一关白名单
验证过程:
–> 验证上传路径是否存在
–> 验证[‘upload_file’]的content-type是否合法(可以抓包修改)
–> 判断POST参数是否为空定义
f
i
l
e
变量(关键:构造数组绕过下一步的判断)
−
−
>
判断
f
i
l
e
不是数组则使用
e
x
p
l
o
d
e
(
′
.
′
,
s
t
r
t
o
l
o
w
e
r
(
file变量(关键:构造数组绕过下一步的判断) -->判断file不是数组则使用explode('.', strtolower(
file变量(关键:构造数组绕过下一步的判断)−−>判断file不是数组则使用explode(′.′,strtolower(file))对file进行切割,将file变为一个数组
–> 判断数组最后一个元素是否合法
–> 数组第一位和
f
i
l
e
[
c
o
u
n
t
(
file[count(
file[count(file) - 1]进行拼接,产生保存文件名file_name
–> 上传文件
将1.php修改为1.jpg
content_type改为image/jpeg
然后修改数组
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
更新**
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
[外链图片转存中…(img-6TXMG3ns-1712553978447)]