当前位置: 首页 > article >正文

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

backspace8%A41%a61%§%A7Õ%D5
tab9%B42%b62%«%ABÖ%D6
linefeed%0AC43%c63%¬%ACØ%D8
creturn%0DD44%d64%¯%ADÙ%D9
space20%E45%e65%º%B0Ú%DA
!21%F46%f66%±%B1Û%DB
"22%G47%g67%ª%B2Ü%DC
#23%H48%h68%,%B4Ý%DD
$24%I49%i69%µ%B5Þ%DE
%25%J%4Aj%6A»%BBß%DF
&26%K%4Bk%6B¼%BCà%E0
'27%L%4Cl%6C½%BDá%E1
(28%M%4Dm%6D¿%BFâ%E2
)29%N%4En%6EÀ%C0ã%E3
*%2AO%4Fo%6FÁ%C1ä%E4
+%2BP50%p70%Â%C2å%E5
,%2CQ51%q71%Ã%C3æ%E6
-%2DR52%r72%Ä%C4ç%E7
.%2ES53%s73%Å%C5è%E8
/%2FT54%t74%Æ%C6é%E9
030%U55%u75%Ç%C7ê%EA
131%V56%v76%È%C8ë%EB
232%W57%w77%É%C9ì%EC
333%X58%x78%Ê%CAí%ED
434%Y59%y79%Ë%CBî%EE
535%Z%5Az%7AÌ%CCï%EF
636%ð%F0
737%?%3F{%7BÍ%CDñ%F1
838%@40%|%7CÎ%CEò%F2
939%[%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

http://www.kler.cn/a/429194.html

相关文章:

  • 异步 HTTP 请求
  • Vue2.0的安装
  • C++(二十一)
  • Spring Boot 实战篇(四):实现用户登录与注册功能
  • Ubuntu本地部署网站
  • 【Uniapp-Vue3】uni-api交互反馈showToast的使用方法
  • 2024年11月中国及周边部分亚洲国家干旱情况的监测报告
  • Linux下redis环境的搭建
  • pushgateway HA高可用方案
  • YOLOv8实战道路裂缝缺陷识别
  • 唯一索引、普通索引的使用场景
  • “Flash闪存”基础 介绍及 雷龙电子“CSNP32GCR01-AOW”产品的测试
  • 【Linux】基础IO-----文件详解
  • NeurIPS Spotlight|从分类到生成:无训练的可控扩散生成
  • WiFi近源攻击实战(精)
  • 23种设计模式之策略模式
  • springSecurity权限控制
  • 机器学习最简单的分类任务入门
  • AI时代的开发新纪元:云开发 Copilot
  • 字符串的连接C语言(pta)
  • 基于单片机和测频法的频率计设计及proteus仿真
  • learn-(Uni-app)uni.navigateTo方法进行页面跳转
  • k8s-编写CSI插件(3)
  • linux介绍------VMWare的卸载,下载,安装------及基础命令使用
  • 基于直角坐标系的两点距离计算
  • HTML语义化标签的使用