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 小时前
Android 报错:Zip file '/Users/lyy/develop/repoAndroidLapp/l-app-android-ble/app/bu
android
Kapaseker17 小时前
实战 Compose 中的 IntrinsicSize
android·kotlin
xq952718 小时前
Andorid Google 登录接入文档
android
黄林晴19 小时前
告别 Modifier 地狱,Compose 样式系统要变天了
android·android jetpack
BingoGo20 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php
JaguarJack20 小时前
当你的 PHP 应用的 API 没有限流时会发生什么?
后端·php·服务端
冬奇Lab1 天前
Android触摸事件分发、手势识别与输入优化实战
android·源码阅读
城东米粉儿1 天前
Android MediaPlayer 笔记
android
Jony_1 天前
Android 启动优化方案
android
阿巴斯甜1 天前
Android studio 报错:Cause: error=86, Bad CPU type in executable
android