首页
学习
活动
专区
圈层
工具
发布

推荐15-php异或计算绕过preg_match()

原理 以制作免杀马为例: 在制作免杀马的过程,根据php的语言特性对字符进行!...详情了解php不同于其他语言部分 但是很多的preg_match会过滤掉".",所以需要使用异或运算进行绕过,很多的免杀马都是这样制作的。...以GET或POST传入字符绕preg_match为例: php的eval()函数在执行时如果内部有类似"abc"^"def"的计算式,那么就先进行计算再执行,我们可以利用再创参数来实现更方便的操作,例如传入...a=$_GET[b],由于b不受限制就可以任意传值了,不过 注意1:在测试过程中发现问题,类似phpinfo();的,需要将后面的();放在第个参数的后面,例如url?...a}这样的语句php是不会判为错误的,因为{}使用来界定变量的,这句话就是会将_GET自动看为字符串,也就是$_GET['a'] Demo Suctf easyphp <?

1.8K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    春秋夺旗赛第二季WEB部分题解

    easyphp 首先看源码 ? 发现了base64,这边我们进行解码,可以看到 ? 很明显,这里很有可能有一个文件读取漏洞,我们尝试读取index.php ? 然后尝试读取hint.php ?...} if($first==="u") { echo "shi fu 666"; $file='phpinfo.php...这里我们可以看到,题目提示我们phpinfo,而且我们在disable_function中看到,已经禁用了太多的函数 !...image-20191026190242745 那么我们可以想到的是phpinfo+LFI的用法,脚本大家可以自己去网上找一下 运行之后,这里我们把shell放到了cxc.php中,我们用蚁剑连上,可以看到...这个题目比较玄学,过滤了or,最开始我想到的是过滤了or之后,无法用到information_schema,可以用mysql的另一个版本的表 ? 实际操作之后,发现并不可以。

    1.1K30

    从0开始构建一个属于你自己的PHP框架

    [file: framework/Load.php] 错误和异常模块 脚本运行期间: 错误: 通过函数set_error_handler注册用户自定义错误处理方法,但是set_error_handler...所以我们需要使用register_shutdown_function配合error_get_last获取脚本终止执行的最后错误,目的是对于不同错误级别和致命错误进行自定义处理,例如返回友好的提示的错误信息...username = easyphp password = easyphp slave = 0,1 [database-slave-0] dbname = easyphp dbhost...= localhost username = easyphp password = easyphp [database-slave-1] dbname = easyphp dbhost = localhost...username = easyphp password = easyphp [file: framework/hanles/ConfigHandle.php] 输入和输出 定义请求对象:包含所有的请求信息

    1.9K20

    Amazing phpinfo()

    下载与你当前php版本匹配的Xdebug模块文件 修改php配置文件,在最后添加 zend_extension = "E:/wamp/bin/php/php版本号/zend_ext/刚下载的.dll"...比如上次的国际赛2018-N1CTF phpinfo中显示的信息是php-cli 但是实际上跑着的是php-fpm,而他是开着的 所以最后一键命令测试一下,即 监听自己的9000端口,再执行 curl...easyphp为例 当时发现phpinfo还在,于是去看了看,没想到就惊喜的发现了攻击点 ?...关系就在于以上传文件的方式请求任意PHP文件,服务器都会创建临时文件来保存文件内容 而这个临时文件的位置正好会在phpinfo中显示出来 开启phpinfo() 这个当然很简单了 直接写一个文件 的开启给我们带了机会 利用方式也不算复杂 我们在本地启动一个同版本、同配置、同目录的php项目 然后写一个index.php,里面是我们的恶意代码 然后访问这个文件,生成

    1.6K60

    2024全网最全面及最新且最为详细的网络安全技巧 九之文件包含漏洞典例分析POC;EXP以及 如何防御和修复(4)

    9.10 文件包含&奇技淫巧(5和7版本) 前言 最近遇到一些文件包含的题目,在本篇文章记录两个trick。 环境背景 复现环境还是很容易搭建的: 例题1(php7) index.php php error_reporting(0); // 关闭错误报告 $file = $_GET["file"]; // 从 URL 参数中获取 'file' 的值 // 如果 'file' 的值包含危险的输入...php error_reporting(0); // 关闭错误报告 $file = $_GET["file"]; // 从 URL 参数中获取 'file' 的值 if (!.../php.zip/phpinfo 长度截断 利用条件: php版本 php 5.2.8 原理: Windows下目录最大长度为256字节,超出的部分会被丢弃 Linux下目录最大长度为4096字节,...php error_reporting(0); // 关闭错误报告,以免显示错误信息 session_start(); // 启动会话,使用 SESSION 变量来存储用户登录状态 // 如果 GET

    1.2K10

    关于 64 位 PHP 使用 PHP_INT_SIZE 输出得到 4 的问题

    很尴尬,为什么phpinfo()中的 PHP 是 64 位,而获取PHP_INT_SIZE的值确是 4 就上周的文章:怎么快速判断 PHP 是 32 位还是 64位,可以查看PHP_INT_SIZE的值来判断...PHP 位数 本地使用 phpstudy 得到的结果是 4,也就是 32 位的 PHP,服务器上得到的是 8,64 位 PHP,没什么问题啊,就这么完了 结果今天来了一个使用 wamp 集成环境的,phpinfo...()得到的是 64 位的,swoole_loader 扩展也安装成功的了,但是被提示了一句 32 位 PHP 要来了他使用的集成环境版本:wampserver3.0.6_x64,本地安装一下,默认 PHP...),很明显 PHP 是 32 位的 但是为什么phpinfo()中的 PHP 是 64 位 在 PHP Bugs 官方找到了这么一条 BUG 报告:PHP_INT_SIZE is 4 instead of...,PHP7中,应该不会再出现这个问题了,其他是个别版本 沈唁志,一个PHPer的成长之路!

    1.9K10

    Thinkphp5 远程代码执行漏洞事件分析报告

    由于该漏洞触发方式简单、危害巨大,知道创宇404实验室在研究漏洞原理后,整理攻击事件,最终发布该漏洞事件报告。...然后来看一下具体的代码实现: thinkphp/library/think/App.php ? 由于没有在配置文件定义任何路由,所以默认按照方式1解析调度。如果开启强制路由模式,会直接抛出错误。...1.2 漏洞影响版本 在与小伙伴做测试的时候,意外发现5.0.5版本使用现有的payload不生效,会报控制器不存在的错误。...直接添加补丁,在thinkphp5.0版本的thinkphp/library/think/App.php554行,thinkphp5.1版本的thinkphp/library/think/route/dispatch...php phpinfo();?> 这是一个日后被广泛利用的payload,通过调用file_put_contents将php代码写入文件来验证漏洞是否存在。

    2.3K30

    PHP安全核心配置

    PHP配置文件指令多达数百项,为了节省篇幅,这里不对每个指令进行说明,只列出会影响PHP脚本安全的配置列表以及核心配置选项。 详细参阅官方文档,关于php.ini的配置选项列表。...例如在其中禁用phpinfo函数 disable_functions = phpinfo 在index.php当中调用phpinfo函数,在网页当中报错 display_errors与error_reporting...该选项设置是否将错误信息作为输出的一部分打印到屏幕,或者对用户隐藏。...这是辅助开发的功能,不应在生产系统中使用 (例如连接到互联网的系统)。设置为Off时,将不会对用户显示错误信息。 error_reporting用于设置错误报告级别。...在设置display_errors=On时,还可以配置error_reporting,用来配置错误显示的级别。

    89720

    【文件包含】文件包含漏洞知识总结v1.0

    以PHP为例,常用的文件包含函数有以下四种: include(),require(),includeonce(),requireonce(),它们的区别如下: require(),找不到被包含的文件时会产生致命错误...需要注意的是,%00截断需要php版本小于5.3.4,且关闭magic_quotes_gpc功能。 ?...这个时候我们还可以通过利用Apache的日志文件来生成一句话木马。 在用户发起请求时,服务器会将请求写入access.log,当发生错误时将错误写入error.log,日志文件位置如下: ?...但是代码会给我们输入的路径后面加上'/phpinfo.php'后缀,如果php版本小于5.3.4,我们可以尝试使用%00截断,这里php版本为7.2.7,不适用。 还有一种截断方法就是?...通过zip://协议执行压缩包中的phpinfo.php文件: ? php://input 利用php://input,可以直接执行php代码。

    2.8K20

    phpstudy扩展mongoDB而非mongo

    运行PHPstudy,先点击停止,点击切换版本,把PHP版本切换到5.5及以上的版本,本文采用5.6的版本,PHP版本越高,相对的漏洞越少,相对越稳定 ?...在其他选项菜单里面,选择PHP扩展及设置–>PHP扩展,勾选php_mongo。 二.在其他选项菜单中打开phpinfo,并记住以下的相关数据 ?...观察如下3个参数,即位数,ts/nts,vc9/vc11/……三条规则(一定要一一对应) 重要是,还要对应PHP的版本,我选的是5.6的对应的版本 去https://pecl.php.net/package...复制到对应的PHP版本的ext目录中 ?...添加完成后,保存并退出php-ini 四.缺少导致的错误 缺少mongo会在调用mongodb数据库的_id的详情时提示页面404错误, 缺少mongodb会提示以下错误 ?

    1.9K30

    新手上路 | 德国电信网站从LFI到命令执行漏洞

    我擅长PHP,而开发或架构者通常会在PHP部署上出现错误,留给黑客可入侵之机。info.php测试页中包含了路径、目录和位置等可用信息。...我尝试用error.log来发现一些信息,由于info.php ( phpinfo())文件是位于站点根目录下的,它里面的信息包含了error.log文件位置,如下: https://netweb.telekom.de...而在error.log的请求运行之后,其中还包含了之前用dirb跑出的文件soap.php信息,error.log中的一个数值还与referer值相关: ?...我们在curl请求下,用php echo方法来测试referer值响应输出是否会包含58-8=50的信息: ? 很好,error.log中竟然包含了58–8的测试值50输出: ?...那么也可以用它来响应phpinfo()信息: ? 利用error.log文件来执行phpinfo()的信息输出如下: ? 最终,我发给德国电信的漏洞报告如下: ? 最终,德国电信修复了这些漏洞。

    1.3K100

    解决 PHP PHP Startup: Unable to load dynamic library ‘ixed.8.0.lin’以及PHP版本的问题-优雅草卓

    7共存,天雷滚滚以下方案可以做,但是会有很多错最终核心就是卸载,保留独立版本,目前解决了无数的问题 保留了7.1 和8.0 已经很不容易了终于成功遇到的错误涉及两个主要问题:ixed.8.0.lin 扩展加载失败和...以下是完整的解决方案:问题一:ixed.8.0.lin 扩展加载失败原因分析这是 ionCube 加密扩展的错误引用系统尝试在 PHP 7.3 中加载 PHP 8.0 版本的 ionCube 扩展扩展文件根本不存在于指定路径解决方案完全移除错误的扩展引用.../vhost/nginx/您的网站.conf | grep php-cgi在宝塔面板中为网站配置指定PHP版本在宝塔面板中为网站配置正确的PHP版本非常重要,可以避免扩展加载错误和版本不兼容问题。...验证版本php -v重要注意事项版本一致性:确保网站使用的PHP版本与命令行版本一致使用php -v和phpinfo()页面进行验证扩展兼容性:切换PHP版本后,需要重新安装扩展不同PHP版本的扩展不兼容缓存问题...php phpinfo();" > /www/wwwroot/您的网站目录/phpinfo.php访问http://您的网站/phpinfo.php查看显示的PHP版本是否正确通过我 折腾来折腾去得到最终答案

    73210

    Windows系统下PhpStorm+Xdebug安装与调试

    接下来记录一下PHP源代码性能调试工具Xdebug的安装以及配置 二、下载并安装Xdebug 2.1 确定系统使用的php的版本 创建一个php脚本文件phpinfo.php,并且可以访问 php phpinfo(); ?> PHP Copy !!!重点!!!...的版本的工具选择Xdebug版本 进入的这个工具页面,地址为:https://xdebug.org/wizard,然后把phpinfo.php打印出来的印象粘贴到输入框中。...xdebug.show_error_trace = 0 ;错误信息是否强制性显示;默认值: 0,设置为1时,不管PHP设置display_errors设置值是多少,错误信息将强制性一直显示 xdebug.force_display_errors...4.1 创建php脚本 在项目中创建测试的脚本,此处还是使用phpinfo.php文件,然后在每行点击下,可以添加断点的行。 <?

    2.4K10

    php文件包含漏洞分类目录文章标签友情链接联系我们

    phar:// 利用条件: php版本大于等于php5.3.0 姿势: 假设有个文件phpinfo.txt,其内容为<?php phpinfo(); ?...file=phar://test.zip/phpinfo.txt ? zip:// 利用条件: php版本大于等于php5.3.0 姿势: 构造zip包的方法同phar。...在用户发起请求时,会将请求写入access.log,当发生错误时将错误写入error.log。默认情况下,日志保存路径在 /var/log/apache2/。...长度截断 利用条件: php版本 php 5.2.8 目录字符串,在linux下4096字节时会达到最大值,在window下是256字节。只要不断的重复./ index.php?.../shell.txt 则后缀/test/test.php,在达到最大值后会被直接丢弃掉。 0字节截断 利用条件: php版本 php 5.3.4 index.php?

    1.1K20

    信息泄露

    信息泄露 敏感信息泄露 信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行对网站的进一步入侵 软件敏感信息 操作系统版本 可以通过NAMP等扫描得知 中间件的类型以及版本...、cms_identify) Web敏感信息 phpinfo()信息泄露: http://[ip]/test.php 和 http://[ip]/phpinfo.php 测试页面泄露在外网...: test.cgi phpinfo.php info.php 等 编辑器备份文件泄露在外网: http://[ip]/.test.php.swp http://[ip]/test.php.bak...http://[ip]/test.jsp.old http://[ip]/cgi 以及其它的常见的编辑备份后缀 版本管理工具文件信息泄露 http://[ip]/.git/config...://[ip]/manager.php http://[ip]/admin_login.php 泄露邮箱、号码等 生成爆破字典 错误页面暴露信息 mysql错误、php错误、暴露CMS

    1.5K20
    领券