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
相关推荐
陈无左耳、16 分钟前
HarmonyOS学习第4天: DevEco Studio初体验
学习·华为·harmonyos
黑客Ela32 分钟前
网络安全营运周报
网络·安全·web安全
狂野小青年36 分钟前
在PHP Web开发中,实现异步处理有几种常见方式的优缺点,以及最佳实践推荐方法
消息队列·php·最佳实践·异步任务
挣扎与觉醒中的技术人38 分钟前
网络安全入门持续学习与进阶路径(一)
网络·c++·学习·程序人生·安全·web安全
-优势在我1 小时前
Android TabLayout 实现随意控制item之间的间距
android·java·ui
hedalei1 小时前
android13修改系统Launcher不跟随重力感应旋转
android·launcher
技术小齐1 小时前
网络运维学习笔记 017HCIA-Datacom综合实验01
运维·网络·学习
曾浩轩2 小时前
51单片机学习之旅——C语言小知识
c语言·学习·51单片机
Indoraptor2 小时前
Android Fence 同步框架
android
宇寒风暖2 小时前
侯捷 C++ 课程学习笔记:内存管理与工具应用
c++·笔记·学习