CTF基础知识 && AWD红蓝对抗
AWD
备份源码,修改账户密码,查看是否有预留后门然后删掉
修改mysql密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码
例子:mysqladmin -uroot -p 123456 password 123
MySQL 完全备份和恢复
备份某—个数据库: mysqldump -u Username -p Password 数据库名 > /root/XXX.bak
会将指定的数据库备份至roo家目录下,文件名为XXX.bak
恢复: mysql -u Username -p Password 数据库名 < /root/XXX.bak
一句话木马
<?php @eval($_REQUEST['pass']); ?> <%eval request("pass")%> <?php @eval($_POST['c']); ?>
权限维持:1.不死马, 2. nc反弹shell nc -lp 9999
ps auxww|grep shell.php 找到pid后杀掉进程就可以
修改ssh文件 vim /etc/ssh/sshd_config PermitRootLogin no
最后面加AllowUsers liu liu1
linux修改文件所有者和文件所在组
chgrp 用户名 文件名 -R
chown 用户名 文件名 -R
chmod -R 777 /var/home/userid/cc
1查看端口
netstat -tunpl netstat -tunpl | grep 23 (查看是否打开23端口)
2. 查看端口对应的应用程序
lsof -i:xxx 查进程 ps aux
3. 关闭端口
【iptable】
sudo iptables -A INPUT -p tcp --dport $PORT -j DROP"
sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP"
【kill】
Ps -aux
kill -9 PID" (PID:进程号)
sudo /etc/init.d/apache2 restart
一.防御策略
命令注入漏洞
a)例 str1 = $_POST[‘cmd’],在str1 前连接 字符”#”注释字符,str1 = “#”. $_POST[‘cmd’]
b)
上传文件漏洞
a)注释上传写入代码.
b)
文件包含漏洞
a) 修改php.ini文件
allow_url_fopen on
allow_url_include on
修改为
allow_url_fopen off
allow_url_include off
b)
远程代码执行漏洞
a) 注释危险函数:system() exec_shell() eval() assert() create_function() preg_replace() file_put_contents()
b)
缓冲区溢出漏洞
a) 目前参考”7.Linux权限漏洞”,进行防御.
b)
系统后门漏洞
a) 直接删除后门程序
b) “Ps –ef|grep bash”命令查看是否有bash后门程序
c) “ss -ltnp”命令查看,是否有后门程序监听端口
d) 从上两个步骤找到该程序pid,用”kill pid”命令结束后门bash程序
e) 在web网站目录下,查看文件内容找到webshell或一句话木马,进行删除文件或注释代码
f)
Linux权限漏洞
a)“PS –ef|grep httpd”命令查看 Apache服务是否是root执行该服务,若是修改/etc/httpd/httpd.conf 文件找到”user” “group”字段后加上apache apache,重启httpd服务。使Apache服务是apache用户执行该服务.
b) 修改/bin/cat /bin/echo等关键命令二进制文件,改成其名称,让其攻击者无法利用bash读取flag文件内容.
1.防XSS
利用strip_tags()函数过滤字符串中的 HTML 标签;
利用htmlspecialchars()函数对敏感字符进行转换。
$message = mysql_real_escape_string($message);
作为body文本输出,作为html标签的属性输出:
比如:${username},
此时的转义规则如下:
< 转成 <
> 转成 >
& 转成 &
" 转成 "
' 转成 '
javascript事件
除了上面的那些转义之外,还要附加上下面的转义:
\ 转成 \\
/ 转成 \/
; 转成 ;(全角;)
e) URL属性
如果