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
相关推荐
m0_748233179 小时前
PHP版本演进:从7.x到8.x全解析
java·开发语言·php
zhengfei6119 小时前
精选的优秀法证分析工具和资源列表
开发语言·php
大雷神9 小时前
HarmonyOS智慧农业管理应用开发教程--高高种地--第25篇:学习中心 - 课程详情与学习
学习·华为·harmonyos
好奇龙猫9 小时前
【大学院-筆記試験練習:线性代数和数据结构(21)】
学习
urkay-9 小时前
Android 中实现 HMAC-SHA256
android·开发语言·python
开开心心就好9 小时前
键盘映射工具改键位,绿色版设置后重启生效
网络·windows·tcp/ip·pdf·计算机外设·电脑·excel
YIN_尹10 小时前
【MySQL】增删查改的艺术——数据库CRUD完全指南(下)
android·数据库·mysql
m0_7482331710 小时前
PHP8.0新特性全解析
android
zhengfei61110 小时前
MCP 将帮助防御者更努力、更智能地进行检测工程
网络
郝学胜-神的一滴10 小时前
Linux Socket模型创建流程详解
linux·服务器·开发语言·网络·c++·程序人生