内容简介:有一段时间没有露面的,现在出来和各位打个招呼,今天给大家带来话题是打造安全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原创奖励计划,未经许可禁止转载
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
The Zen of CSS Design
Dave Shea、Molly E. Holzschlag / Peachpit Press / 2005-2-27 / USD 44.99
Proving once and for all that standards-compliant design does not equal dull design, this inspiring tome uses examples from the landmark CSS Zen Garden site as the foundation for discussions on how to......一起来看看 《The Zen of CSS Design》 这本书的介绍吧!