内容简介:有一段时间没有露面的,现在出来和各位打个招呼,今天给大家带来话题是打造安全php系统,web安全防不胜防,那么我们怎么尽可能的做到安全啦?web方面注入,xss啊 防不胜防,但是最终的结果是上传php木马到web服务器中,进行下载网页源代码,或者dump数据库。
*本文原创作者:刀郎,本文属FreeBuf原创奖励计划,未经许可禁止转载
有一段时间没有露面的,现在出来和各位打个招呼,今天给大家带来话题是打造安全 php 系统,web安全防不胜防,那么我们怎么尽可能的做到安全啦?
web方面注入,xss啊 防不胜防,但是最终的结果是上传php木马到web服务器中,进行下载网页源代码,或者dump数据库。
注入和xss是网页代码的问题,不同的 程序员 水平和经验不一样,开发出来的安全性肯定不一样,那么我想到的方法是在上传木马上做文章。
扯了这么多,先给大家看一段代码
<?daolang echo "hello world"; ?>
这段代码是不是写错了?正常情况下应该不能跑的,但是在我刀郎的服务器中是正常运行的,恰恰正常代码不能在我服务器中跑。
<? echo "hello world"; ?>
那么我们怎么打造这样的刀郎安全php服务器啦?
第一步查找php关键标识符
这里我用Source Insight 4.0,搜索整个php源代码查找<?,排查后发现在Zend/zend_language_scanner.l这个文件中,
第二步 修改标识符
下面是我已经修改后的
<INITIAL>"<?daolang"([ \t]|{NEWLINE}) {
HANDLE_NEWLINE(yytext[yyleng-1]);
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN(T_OPEN_TAG);
}
<INITIAL>"<?dl" {
if (CG(short_tags)) {
BEGIN(ST_IN_SCRIPTING);
RETURN_TOKEN(T_OPEN_TAG);
} else {
goto inline_char_handler;
}
}
保存。
第三步 生成C文件
我们需要重新生成zend_language_scanner.c
re2c --no-generation-date --case-inverted -cbdF -o zend_language_scanner.c zend_language_scanner.l
第四步 编译源代码
4.1 安装需求库
apt-get install gcc make automake autoconf libtool bison flex libxml2-dev apache2-dev re2c
4.2 开始编译代码
./configure --with-apxs2=/usr/bin/apxs make
4.3配置php环境
4.3.1 安装apache2
apt-get install apache2
service apache2 start4.3.2 修改配置文件
4.3.3 重启apache2
service apache2 start
4.4 感慨
现在国家在大力推广ipv6,未来面对的机遇和挑战更多,大家准备好了吗?哎实在编不下去了,最后一句话,大家想我吗?
*本文原创作者:刀郎,本文属FreeBuf原创奖励计划,未经许可禁止转载
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Ruby on Rails电子商务实战
Christian Hellsten、Jarkko Laine / 曹维远 / 人民邮电出版社 / 2008-4 / 49.00元
《Ruby on Rails电子商务实战》全面讲解了使用Ruby on Rails创建产品级应用程序的过程。书中通过演示构建网上书店的全过程,先后介绍如何使用如TDD的敏捷实践,启动一个项目并建立良好稳定的基础,如何深入Ruby on Rails,实现诸如将应用程序翻译成各种语言对产品进行调试等的普遍需求。其中用到的主要技术包括Ajax、聚合、设置标签和国际化等,还介绍了如何使用ActiveRec......一起来看看 《Ruby on Rails电子商务实战》 这本书的介绍吧!
RGB HSV 转换
RGB HSV 互转工具
HSV CMYK 转换工具
HSV CMYK互换工具