①.、命令注入(Command Injection)
①.0、文件上传漏洞(File Upload Attack)
①.1、目录穿越漏洞(Directory Traversal)
一般都是网站程序存在漏洞或者服务器存在漏洞而被攻击了
网站挂马是每个网站最头痛的问题,解决办法:1.在程序中很容易找到挂马的代码,直接删除,或则将你没有传服务器的源程序覆盖一次但反反复复被挂就得深入解决掉此问题了.但这不是最好的解决办法.最好的方法还是找专业做安全的来帮你解决掉
听朋友说 SineSafe 不错 你可以去看看.
清马◆修补漏洞=彻底解决
清马
在你的网站程序或数据库没有备份情况下,可以实行以上两步骤进行清马,如果你的网站程序有备份的话,直接覆盖原来的文件即可.
修补漏洞(修补网站漏洞也就是做一下网站安全.)
①.、修改网站后台的用户名和密码及后台的默认路径.
eval() 函数把字符串按照 PHP 代码来计算.
该字符串必须是合法的 PHP 代码,且必须以分号结尾.
如果没有在代码字符串中调用 return 语句,则返回 NULL.如果代码中存在解析错误,则 eval() 函数返回 false.
例子:
php
$string = "beautiful";
$time = "winter";
$str = 'This is a $string $time morning!';
echo $str. "br /";
eval("\$str = \"$str\";");
echo $str;
输出:
This is a $string $time morning!
This is a beautiful winter morning!
代码执行漏洞是指应用程序本身过滤不严,攻击者可以通过请求将代码注入到应用中,最终在web服务器上去执行.
危险函数执行PHP代码的有:
eval(), assert(), preg_replace(), call_user_func(), call_user_func_array(), create_function(), array_map()等.
①eval()和assert()函数本身就可动态执行代码,其参数就是PHP代码
payload: ? eval('phpinfo();');?
preg_replace漏洞触发有两个前提:
第一个参数需要e标识符,有了它可以执行第二个参数的命令
第一个参数需要在第三个参数中的中有匹配,不然echo会返回第三个参数而不执行命令
//echo preg_replace('/test/e', 'phpinfo()', 'just test');这样是可以执行命令的
//echo preg_replace('/test/e', 'phpinfo()', 'just tesxt'); 或者echo preg_replace('/tesxt/e', 'phpinfo()', 'just test'); 这两种没有匹配上,所以返回值是第三个参数,不会执行命令
payload:
php preg_replace('/
(.?)
/e','\\1','$_GET['a']);?
请求1.php?a=[phpinfo()]
php $b='phpinfo()'; call_user_func($_GET['a'],$b);?
请求1.php?a=assert, 则调用了assert函数