20169220 <网络攻防实践> 第十一周实验—SQL注入+TCP/IP攻击

Collabtive 系统 SQL 注入实验

  • SQL注入技术是利用web应用程序和数据库服务器之间的接口来篡改网站内容的攻击技术。通过把SQL命令插入到Web表单提交框、输入域名框或页面请求框中,最终欺骗服务器执行恶意的SQL命令。

环境搭建

  • 启动mysql
  • 启动Apache
  • 配置DNS
  • 配置网站文件

  • 关闭php配置策略:把magic_quotes_gpc=On 改为 magic_quotes_gpc = Off

实验内容

lab1 select语句的sql注入

  • 查看登陆验证文件,找到其中第375行,修改完后重启一下服务器
  • 在$user后面加上) # 这样就会只验证用户名,后面的会被#注释,点击登陆以后,就可以绕过密码直接登录

lab2 update语句的sql注入

  • 在Collabtive web应用程序中,如果用户想更新他们的个人资料,他们可以去我的帐户,单击编辑链接,然后填写表格以更新资料信息。在用户发送更新请求到服务器,一个UPDATE SQL语句将建造在include/class.user.php。这句话的目的是修改用户表中的当前用户的配置信息。有一个在这个SQL语句中的SQL注入漏洞;
  • 可以找到如下的代码:function edit,会发现​sql语句为:SELECT ID WHERE name=​'$user',并且company的位置是存在注入漏洞,原理同lab1。
  • 在编辑用户的位置:user 填 ted 用户;Company 处填:
  • 点击修改,然后退出当前用户,使用ted用户登录,这个时候ted用户的密码应该是pass;

防御策略

防御策略1

  • 防御转义特殊字符使用,默认开启magic_quotes_gpc,将magic_quotes_gpc值设为On

防御策略2--避免使用特殊字符

  • MySQL提供一个函数 mysql_real_escape_string(),这个函数可以用来过滤一些特殊字符;如\x00, \n, \r, , ', " and \x1a;
  • 代码防御示例,修改为如下:

防御策略3--数据与sql语句的分离

  • 通过SQL逻辑分离来告诉数据库到底是哪部分是数据部分,哪一部分是SQL语句部分;提供以新的new mysqli()函数, 将这个函数写入config/standary/config.php文件:
  • 修改代码如下,以及编辑用户处的代码

TCP/IP的攻击实验

ARP欺骗

  • ARP缓存是ARP协议的重要组成部分。ARP协议运行的目标就是建立MAC地址和IP地址的映射,然后把这一映射关系保存在ARP缓存中,使得不必重复运行ARP协议。因为ARP缓存中的映射表并不是一直不变的,主机会定期发送ARP请求来更新它的ARP映射表,利用这个机制,攻击者可以伪造ARP应答帧使得主机错误的更新自己的ARP映射表,这个过程就是ARP缓存中毒。这样的后果即使要么使主机发送MAC帧到错误的MAC地址,导致数据被窃听;要么由于MAC地址不存在,导致数据发送不成功。我们的攻击模拟如下:
  • Machine 1 :Kali-Linux IP:222.28.133.186
  • Machine 2:SEED IP:222.28.133.235
  • Machine 3:metasploitable_Linux IP:222.28.133.147
  • 正常情况下:如果Machine 2向Machine 3请求建立Telnet链接,Machine 2会广播ARP请求,询问192.168.40.41(Machine 3)的MAC地址是多少?Machine 3发现ARP广播的IP地址是自己IP,就会儿发送ARP应答,告诉Machine 2自己的MAC地址。然后两者建立请求进行通信。

攻击

  • 1.Machine 1伪造Machine 3的ARP应答,周期性的广播,构造过程:
  • 2.同时广播
  • 3.这样Machine 2的ARP缓冲就会被修改,无法Telnet到Machine 3

SYN泛洪攻击

  • 将Machine 3(端口:23)作为Telnet服务器,Machine2作为Telnet客户端,去连接Telnet服务器。
  • 1.正常情况如下
  • 2.对Machine 3的端口23进行洪泛攻击
  • 3.此时查看Machine 3的端口23的待处理队列如下:
  • 4.此时 Machine 2的Telnet客户端无法再次连接 Machine3
posted @ 2017-05-10 18:50  20169220赵京鸣  阅读(968)  评论(0编辑  收藏  举报