今天我们来学习一下web安全当中的SQL注入漏洞,咱们通过SQL注入漏洞获取系统的用户名和密码之后登录系统后台,寻找对应的上传点,上传对应的webshell,需要执行对应shell返还,是要来给咱们攻击机最终取得对应的flag值。下面咱们来介绍一下sql注入漏洞。注入漏洞也就是,这个sql注入攻击指的是通过构建的输入作为参数,传入到咱们web应用程序当中,而这些输入,大多都是sql语句里的一些组合,通过执行咱们构造的这个sql语句,进而执行咱们想要的操作。
咱们生成这个sql注入漏洞的原因,可以说是程序没有细致的过滤用户输入的数据,致使非法数据侵入系统执行对应的操作。
咱们sql注入产生的原因,通常表现在以下几个方面,第一不正当的类型处理,第二不安全的数据库配置。第三不合理的查询及处理。第四不当的错误处理。第五转移字符处理不适。第六多个提交处理不当。实际上本质的原因,就是咱们程序允许用户输入,那么用户输入了恶意字符,咱们系统没有对其过滤,或者过滤不严格导致sql注入的这样一个漏洞出现。
那么,咱们在开始课程之前,来介绍一下今天的实验环境。首先攻击机的IP地址是192.168.253.12,采用的是咱们kali Linux,试验机是192.168.253.15这样一个IP地址,那么咱们拿到这样一个实验环境,该如何操作?咱们不论是在日常工作当中,还是在 ctf比赛当中,咱们一定要想着获得靶场机器的root,权限,当然在ctf比赛当中,大家一定要注意,获得靶场的root权限之后,也要想方设法找到对应flag,获得对应的flag值。
下面,咱们就在今天的实验环境来进行一个测试。在测试的第一步当中,我们需要对靶场机器来进行一个信息探测。首先咱们要探测一下靶场机器服务的信息以及服务的版本信息,咱们使用nmap杠小写s大v之后加上靶场IP地址来探测。首先打开终端之后,咱们使用nmap杠小s打v之后加上咱们靶场的IP地址,192.168.253.15回车,咱们这时候nmap会向靶场发送大量探测数据包,那么靶场会给咱们返回对应的响应,之后nmap把这些响应处理以标准的形式输出到nmap的标准输出当中。