命令执行:获取执行命令的权限
sql注入:破坏数据库
文件上传:上传木马病毒等
DVWA靶场搭建
安装phpstudy,在小皮面板-好用、安全、稳定的Linux服务器面板!小皮Linux面板,先进技术架构,集安全、高效、功能于一体,告别命令行,只需要动动鼠标,服务器运维化繁为简!https://www.xp.cn/下载phpstudy,完成后在https://codeload.github.com/digininja/DVWA/zip/refs/heads/master下载DVWA,
解压到WWW目录下,然后找到config目录,
修改文件后缀名使其变成php源文件,用记事本打开修改用户名和密码为root,保存
启动phpstudy,搜索本地回环地址127.0.0.1,出现以下创建成功的画面
然后输入127.0.0.1/DVWA,点击最下方的create用于创建数据库
命令执行漏洞及防御:
首先调整安全级别为low(其他类似)提交,打开command injection
$target = $_REQUEST[ 'ip' ];
$cmd = shell_exec( 'ping ' . $target );
这两句是关键句,意思是将ip地址赋给target,然后执行对target的ping,攻击时可以寻找这里的漏洞,在输入的ip地址后加操作符(如下图)
所以一般的防御就是ban掉这些特殊符号(如下图)
impossible的防御如下图,正如其名impossible
SQL注入漏洞及防御
1.首先是检测,提交如下sql语句:
1'&1=1#正确则有输出,1'&1=2#错误则没有输出
若符合规律则有sql语句漏洞
$query = "SELECT first_name, last_name FROM users WHERE user_id = '$id';"
2.然后判断数据库的内容(行列数),查询信息
3.防御的方式