这次我们来学习的是一些不是太常用,但却也非常有用的一些函数。它们中有些大家可能见过或者使用过,有一些可能就真的没什么印象了。它们都是 PHP 中文件系统相关操作函数的一部分。存在即合理,或许只是我们的业务开发中还没有接触到而已。不管别的,先混个脸熟,在真正需要它们的时候你能马上想起来 PHP 就自带一个这样的函数就可以了。
Nginx接收请求 -> php-fpm进程运行指定php脚本 -> php在mysql内查询相应数据 -> 处理返回给Nginx -> Nginx响应用户请求
在我们日常的开发中,经常需要用到判断图片是否存在,存在则显示,不存在则显示默认图片,那么我们用到的判断有哪些呢?今天我们就来看下几个常用的方法:
五.请求类型 ThinkPHP 提供了一组常量来判断当前请求是否是 GET、POST 等。通过判断请求处理不同的业务逻辑。 常量 含义 IS_GET 判断是否 GET 提交请求 IS_POST 判断是否 POST 提交请求 IS_PUT 判断是否 PUT 提交请求 IS_DELTE 判断是否 DELETE 提交请求 IS_AJAX 判断是否 AJAX 提交请求 //判断是否GET请求 if (IS_GET) { echo '是GET请求'; } else { echo '不是GET请求'; }
fileowner:获得文件的所有者 filectime:获取文件的创建时间 filemtime:获取文件的修改时间 fileatime:获取文件的访问时间
Web网站通常存在文件上传(例如:图片、文档、zip压缩文件^等)只要存在上传功能,就有可能会有上传漏洞的危机。和SQL注入漏洞相比较而言,上传漏洞更加危险,因为该漏洞可以直接上传一个WebShell到服务器上。
开始审计前,先看一下目录结构,判断是否使用框架开发,常见的框架如Thinkphp、Laravel、Yii等都有比较明显的特征
进入六月以后,自己的时间也就充裕很多了。很多比赛结束、绿盟那边暂时也没有什么任务,就等着7月份去入职了。所以沉下心准备学点东西。于是就选择一位老哥审计过的源码,自己来审计一遍,看看自己的差距,也给自己增加点经验。再就是上次土司聚会就说会在土司发表一篇文章……所以潜水很多年的我来了。本文章是审计的一个CMS系统,比较乱,希望别介意。
#!/bin/bash # 此处是lnmp环境的配置教程,搭建 lnmp 请参考:Linux centos下编译安装Lnmp shell脚本 完整版 # nginx服务器部署多个网站,共用一个80端口。 #首先备份配置文件: #------------------------------- 备份所有 .pid 的文件为 .pid.backup --------------------------------# pidback=(`find / -name "*.pid"`) #
本次教程来自YanXia,转载请注明作者信息,博客地址http://www.535yx.cn,感谢
PHPYun是一款国内流行的人才网站管理系统,做了一些测试,发现了一点问题,做个记录,未深入。
Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。比如 sec.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把sec.php.owf.rar解析成php.
<?php $path="F:/6/htdocs/cyg.php"; echo basename($path);//带有扩展名的文件名称 echo ""; echo basename($p
BossCMS是一款基于自主研发PHP框架+MySQL架构的内容管理系统,能够满足各类网站开发建设的需求。系统开源、安全、稳定、简洁、易开发、专注为中小型企业及政企单位、个人站长、广大开发者、建站公司提供一套简单好用的网站内容管理系统解决方案。官网提供了大量的网站模板,可以让您不需要任何的专业技术就能轻松搭建您的网站,易操作、易上手、快捷方便的后台操作让您10分钟就会建立自己的网站。
本文简单分析emlog5下的模板基本结构以及基本变量、函数的作用,详细了解本文,有助于更快掌握emlog5的模板开发基础。emlog的模板位于安装目录content\templates\文件夹下,每个模板都是一个单独的文件夹,文件夹以模板名字命名。通过后台上传安装的模板都保存在这个目录下。
is_file函数 is_file — 判断给定文件名是否为一个正常的文件,如果文件存在且为正常的文件则返回 TRUE,否则返回 FALSE。 官方说明:http://php.net/manual/zh/function.is-file.php is_dir函数 is_dir() 函数检查指定的文件是否是一个目录。如果文件名存在,并且是个目录,返回 TRUE,否则返回FALSE。 官方说明:http://php.net/manual/zh/function.is-dir.php file_exists() 函数 file_exists() 函数检查文件或目录是否存在。如果指定的文件或目录存在则返回 true,否则返回 false。有点像上面2个函数的综合体。 更多说明参考:PHP file_exists() 函数
在 B/S 程序中文件上传已经成为一个常用功能。其目的是客户可以通过浏览器(Browser)将文件上传到服务器(Server)上的指定目录。
Common模块和普通模块一样,可以添加控制器、模型和视图,并且支持多层,但不能直接访问,只能继承,其中模型层 可以作为公用模型,在D方法实例化中调用。D函数实例化的时候 才能自动判断 当前模块模型类不存在的时候实例化公共模块中的同名模型,自己实例化肯定做不到这点了。
好吧,最近有一个需求,就是网站有时候会需要维护,对服务器维护啥的,原先typecho的主题Joe是有维护开关的,但是不知道为啥,就取消了...于是自己动手丰衣足食~原理很简单,在主页的index.php加入了一个判断即可
以上就是php递归遍历文件夹的方法,只要对递归的流程有所了解,就可以展开有关的递归练习啦。
注意:本文分享给安全从业人员,网站开发人员和运维人员在日常工作中使用和防范恶意攻击,请勿恶意使用下面描述技术进行非法操作。
#题目名称: [签到]Include #题目简介: flag位于flag.php,是一个非常简单的文件包含捏~ #题目环境: http://210.44.151.51:10035/ #函数理解: substr() 函数返回字符串的一部分 如果 start 参数是负数且 length 小于或等于 start,则 length 为 0。 语法 substr(string,start,length) 参数string,必需,规定要返回其中一部分的字符串 参数start,必需,规定在字符串的何处开始 正数 - 在字符串的指定位置开始 负数 - 在从字符串结尾开始的指定位置开始 0 - 在字符串中的第一个字符处开始,(n-1) #环境代码: <?php #PHP开始代码,头代码 error_reporting(0); #屏蔽报错信息 if (isset(KaTeX parse error: Expected '}', got '#' at position 60: … #̲_GET函数获取SICTF变量的数据,isset函数用来检测SICTF变量是否存在并且是否非空(NULL),if循环判断语句条件满足继续向下执行 if ( substr(KaTeX parse error: Expected '}', got '#' at position 42: …php" ) { #̲substr函数返回SICTF…_GET[“SICTF”]); #include函数包含并执行文件,执行SICTF变量值里面的文件,并且返回结果 }
目的 防范因为主机没有加固,造成储存在开发服务器中的源代码和测试数据被黑客获取。 范围 本规范适合于开发服务器安全加固配置。 MYSQL 1. 下载位置 MySQL程序的下载,应该从MySQL官方提供的下载页面或者安全平台部第三方软件统一下载前台(建设中)下载。MySQL官网地址为: http://www.mysql.com/downloads/mysql/ MariaDB则在 https://downloads.mariadb.org/ 1.1 下载后的校验 下载的同时,需记录下官方提供的文件hash(推
注意:本文分享给安全从业人员、网站开发人员以及运维人员在日常工作防范恶意攻击,请勿恶意使用下面介绍技术进行非法攻击操作。。
字符串比较(字节序): 字节序比较可以使用strcmp/strcasecmp两个函数,只需传入两个字符串即可.
由于在编写代码时避免麻烦就需要把公用的一段代码写到一个单独的文件里面,然后供其他文件需要时直接包含调用
当时一看就懵逼了!基本的思路还是有的,不过是使用递归算法,但对PHP操作目录文件的方法却不是很了解,所以今天好好补习一下!
在日常对客户网站进行渗透测试服务的时候,我们SINE安全经常遇到客户网站,app存在文件上传功能,程序员在设计开发代码的过程中都会对上传的文件类型,格式,后缀名做安全效验与过滤判断,SINE安全工程师在对文件上传漏洞进行测试的时候,往往发现的网站漏洞都是由于服务器的环境漏洞导致的,像IIS,apache,nginx环境,都存在着可以导致任意文件上传的漏洞。
首发drops:http://drops.wooyun.org/tips/3978 。
判断当前目录是否存在下的e11这个目录是否存在,结果输出: bool(false) 那么假如我存在一个名字为e的目录,那么:
这是系统自带的两个特殊隐藏目录。一个.是指代当前目录本身,一个…指代上级目录。平时隐藏了而已。你遍历出来不想显示直接在判断条件里加如果目录等于.或者…就不输出,直接跳过就完了
sql注入是就是通过把SQL语句插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
page不能为空,同时,他的值不能等于index.php这样,就会包含flag.php文件 否则重定向到flag.php这个文件
简述:利用PHP程序中含有逻辑问题(仅验证admin_pass),绕过login页面,登录后台
0x01 背景 上周总结了一些文件包含与伪协议结合的利用方法,本周就找一道例题进行演练。题目源自国外某挑战平台,平台上还有许多其他有趣的challenges题目,小伙伴有兴趣也可以上去好好玩耍一番。
1.合并两个数组有几种方式,试比较它们的异同 方式: 1、array_merge() 2、’+’ 3、array_merge_recursive 异同: array_merge 简单的合并数组 array_merge_recursive 合并两个数组,如果数组中有完全一样的数据,将它们递归合并 array_combine 和 ‘+’ :合并两个数组,前者的值作为新数组的键
HTTPS和HTTP的区别主要如下:1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。2、...
nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配,其中:
前面我们介绍了使用 Memcached 内存缓存来提高 WordPress 站点速度,虽然感觉介绍得非常清楚,但是还是有很多小伙伴还是会碰到问题,今天就把其中的常见的问题整理到一起发布,方便大家查看和 Debug,也欢迎收藏和分享该文,帮到更多的人解决问题。
最近小白一直在学习代码审计,对于我这个没有代码审计的菜鸟来说确实是一件无比艰难的事情。但是着恰恰应了一句老话:万事开头难。但是小白我会坚持下去。何况现在已经喜欢上了代码审计,下面呢小白就说一下appcms后台模板Getshell以及读取任意文件,影响的版本是2.0.101版本。其实这个版本已经不用了,小白也是拿这个来说一下自己理解的php的代码审计。开源的CMS就是舒服,不仅可以对最新版的来做代码审计,进而获取到cnvd证书,这样对自己的经验添加了不少光彩。话不多说,下面来开始进行本地的代码审计。
nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 正则表达式匹配,其中: * ~ 为区分大小写匹配 * ~* 为不区分大小写匹配 * !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配,其中: * -f和!-f用来判断是否存在文件 * -d和!-d用来判断是否存在目录 * -e和!-e用来判断是否存在文件或目录 * -x和!-x用来判断文件是否可执行 flag标记有: * last 相当于Apache里的[L]标记,表示完成rewrite * br
在开发项目时,竟然会出现逻辑控制。例如当用户输入“hello”时你需要自动回复“hello 欢迎”,当用户设置的定时时间到达时,你需要提醒用户时间已经结束;再举个例子,在玩网络游戏时,用户控制的角色被攻击,角色需要减掉相应的HP(血量),用户释放技能时需要减掉相应的MP(魔法值),这些都需要使用逻辑去进行判断,从而减掉相应的值。
通常在上传页面里含有专门检测文件上传的 JavaScript 代码,最常见的就是检测文件类型和展名是否合法。
这个主要是用来做本地的开发用的。不能用于线上环境。现在我就介绍一下这个工具如何使用。
本教程为整个数据库表进行创建迁移,弥补以前未做的工作,且仅适合于Migrations(2.0.8)版本用户及以上。
也就C的内容,再追踪一些函数。全局搜索一下filt__,因为 filt 的英文意思为过滤,可以通过全局搜索这样式的函数来查看一下过滤规则。这种一般是比较快速审计。
近期受世界杯的影响,我们Sinesafe接过很多中小企业网站频繁的被黑客入侵篡改了快照内容的网站安全问题导致打开网站被提示博彩页面,在搜索引擎中会被提示百度网址安全中心提醒您:该页面可能已被非法篡改! 主要客户网站问题基本都是反复性质的篡改,手动清理删除掉代码只能解决当前问题,没过几天就又被篡改了内容,而且经常是篡改首页顶部的代码.
前言 本帖提供一些渗透测试工程师面试基础题目,有需要的小伙伴可以收藏 1.拿到一个待检测的站,你觉得应该先做什么? 0x01 面试题目 · 收集信息 whois、网站源IP、旁站、C段网站、服务器系统版本、容器版本、程序版本、数据库类型、二级域名、防火墙、维护者信息另说... 2.mysql的网站注入,5.0以上和5.0以下有什么区别? · 5.0以下没有information_schema这个系统表,无法列表名等,只能暴力跑表名。 · 5.0以下是多用户单操作,5.0以上是多用户多操做。 3.在渗透过程
领取专属 10元无门槛券
手把手带您无忧上云