您当前的位置:首页 > 互联网教程

php的非安全模式是指什么

发布时间:2025-05-22 16:26:03    发布人:远客网络

php的非安全模式是指什么

一、php的非安全模式是指什么

PHP安全模式在5.4的时候已经不再支持了

PHP的安全模式是为了试图解决共享服务器(shared-server)安全问题而设立的。在结构上,试图在 PHP层上解决这个问题是不合理的,但修改 web服务器层和操作系统层显得非常不现实。因此许多人,特别是 ISP,目前使用安全模式。

safe_mode是唯一PHP_INI_SYSTEM属性,必须通过php.ini或httpd.conf来设置。要启用safe_mode,只需修改php.ini: safe_mode= On或者修改httpd.conf,定义目录:Options FollowSymLinks php_admin_value safe_mode 1,重启apache后safe_mode就生效了。

启动safe_mode,会对许多PHP函数进行限制,特别是和系统相关的文件打开、命令执行等函数。所有操作文件的函数将只能操作与脚本UID相同的文件。(脚本的uid并不一定是运行wen服务器用户的uid)

虽然safe_mode不是万能的(低版本的PHP可以绕过),但还是强烈建议打开安全模式,在一定程度上能够避免一些未知的攻击。不过启用 safe_mode会有很多限制,可能对应用带来影响,所以还需要调整代码和配置才能和谐。

二、如何使用SQLMap绕过WAF

WAF(web应用防火墙)逐渐成为安全解决方案的标配之一。正因为有了它,许多公司甚至已经不在意web应用的漏洞。遗憾的是,并不是所有的waf都是不可绕过的!本文将向大家讲述,如何使用注入神器SQLMap绕过WAFs/IDSs。

svn checkout sqlmap-dev

我们关注的重点在于使用tamper脚本修改请求从而逃避WAF的规则检测。许多时候,你需要联合使用多个tamper脚本。

所有tamper脚本请参考:

在这里,我们以针对Mysql的space2hash.py和space2morehash.py为例。这两个脚本将会自动转换所有空格为随机注释,而此脚本的拓展版本(space2morehash.py)也会帮助到你来“打乱”方法函数以绕过WAF的检测。

Example:* Input: 1 AND 9227=9227

* Output: 1%23PTTmJopxdWJ%0AAND%23cWfcVRPV%0A9227=9227

你可以使用命令–tamper来调用脚本,如下:

./sqlmap.py-u 3–dbms“MySQL”–technique U-p id–batch–tamper“space2morehash.py”

由上图我们可以看到,请求中的空格被替换为URL编码后的%23randomText%0A

而CHAR(), USER(),CONCAT()这种函数被替换为FUNCTION%23randomText%0A()

还有两个空格替换脚本:space2mssqlblank.py and space2mysqlblank.py,如下图

charencode.py andchardoubleencode.py是两个用来打乱编码的tamper脚本,他们在绕过不同的关键词过滤时很有作用。

如果web应用使用asp/asp.net开发,charunicodeencode.py和percentage.py可以帮助你逃避Waf的检测。

有意思的是,asp允许在字符之间使用多个%号间隔,比如 AND 1=%%%%%%%%1是合法的!

以上列举了一部分有代表性的tamper脚本来帮助我们绕过waf,每个脚本都有自己的使用场景,还是需要灵活使用。