2024.12.6——攻防世界PHP2

++知识点++:目录扫描 代码审计

传参知识点补充:

后缀名为.phps的文件出现在无法使用web浏览器查看php源代码的情况下,.phps文件就是php的源代码文件,通常用于提供给用户(访问者)查看php代码,因为用户无法直接通过Web浏览器看到php文件的内容,所以需要用phps文件代替。其实,只要不用php等已经在服务器中注册过的MIME类型为文件即可,但为了国际通用,所以才用了phps文件类型。 ​ 它的MIME类型为:text/html, application/x-httpd-php-source, application/x-httpd-php3-source。

一、解题思路

step 1 审题+寻找漏洞

源代码和F12都没有问题,本题题目为PHP,所以还是要找到关键代码再进行代码审计

step 2 dirsearch进行目录扫描

看到 index.php 信息

step 3 传参寻找代码

传参 index.php ,网页并无反应,传参 index.phps 出现一段源代码

step 4 代码审计

大概意思是,id是admin,但是要进行ural编码才能成功上传。

因为GET本身有一次urldecode,加上代码中_ GET\[id\] = urldecode(_GET[id]);语句又一次urldecode解码,因此有两次解码。所以我们要URL后加所以构造如下payload:

复制代码
?id=%2561dmin

当传入参数id时,浏览器在后面会对非ASCII码的字符进行一次urlencode

然后在这段代码中运行时,会自动进行一次urldecode

在urldecode()函数中,再一次进行一次解码

复制代码
urldecode(%2561)=%61
urldecode(%61)=a

即,当第一次比较时,实际是

复制代码
if("admin"==="%61dmin") 

而经过

复制代码
$_GET[id] = urldecode($_GET[id]);

第二次比较是:

复制代码
if("admin" == "admin");

二、URLencode

backspace 8% A 41% a 61% § %A7 Õ %D5
tab 9% B 42% b 62% << %AB Ö %D6
linefeed %0A C 43% c 63% ¬ %AC Ø %D8
creturn %0D D 44% d 64% ¯ %AD Ù %D9
space 20% E 45% e 65% º %B0 Ú %DA
! 21% F 46% f 66% ± %B1 Û %DB
" 22% G 47% g 67% ª %B2 Ü %DC
# 23% H 48% h 68% , %B4 Ý %DD
$ 24% I 49% i 69% µ %B5 Þ %DE
% 25% J %4A j %6A >> %BB ß %DF
& 26% K %4B k %6B ¼ %BC à %E0
' 27% L %4C l %6C ½ %BD á %E1
( 28% M %4D m %6D ¿ %BF â %E2
) 29% N %4E n %6E À %C0 ã %E3
* %2A O %4F o %6F Á %C1 ä %E4
+ %2B P 50% p 70% Â %C2 å %E5
, %2C Q 51% q 71% Ã %C3 æ %E6
- %2D R 52% r 72% Ä %C4 ç %E7
. %2E S 53% s 73% Å %C5 è %E8
/ %2F T 54% t 74% Æ %C6 é %E9
0 30% U 55% u 75% Ç %C7 ê %EA
1 31% V 56% v 76% È %C8 ë %EB
2 32% W 57% w 77% É %C9 ì %EC
3 33% X 58% x 78% Ê %CA í %ED
4 34% Y 59% y 79% Ë %CB î %EE
5 35% Z %5A z %7A Ì %CC ï %EF
6 36% ð %F0
7 37% ? %3F { %7B Í %CD ñ %F1
8 38% @ 40% | %7C Î %CE ò %F2
9 39% [ %5B } %7D Ï %CF ó %F3
: %3A \ %5C ~ %7E Ð %D0 ô %F4
; %3B ] %5D ¢ %A2 Ñ %D1 õ %F5
< %3C ^ %5E £ %A3 Ò %D2 ö %F6
= %3D _ %5F ¥ %A5 Ó %D3 ÷ %F7
> %3E ` 60% | %A6 Ô %D4 ø %F8
ù %F9
相关推荐
Trouvaille ~2 分钟前
【Linux】TCP Socket编程实战(一):API详解与单连接Echo Server
linux·运维·服务器·网络·c++·tcp/ip·socket
liann1193 分钟前
3.1_网络——基础
网络·安全·web安全·http·网络安全
亓才孓3 分钟前
[JDBC]元数据
android
觉醒大王3 分钟前
强女思维:着急,是贪欲外显的相。
java·论文阅读·笔记·深度学习·学习·自然语言处理·学习方法
独行soc15 分钟前
2026年渗透测试面试题总结-17(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
辣香牛肉面16 分钟前
Wireshark v4.6.2 开源免费网络嗅探抓包工具中文便携版
网络·测试工具·wireshark
全栈工程师修炼指南19 分钟前
Nginx | stream 四层反向代理:SSL、PREREAD 阶段模块指令浅析与实践
运维·网络·网络协议·nginx·ssl
金融RPA机器人丨实在智能23 分钟前
Android Studio开发App项目进入AI深水区:实在智能Agent引领无代码交互革命
android·人工智能·ai·android studio
科技块儿24 分钟前
利用IP查询在智慧城市交通信号系统中的应用探索
android·tcp/ip·智慧城市
M1582276905534 分钟前
TCP转LORA产品说明及应用案例
网络·网络协议·tcp/ip