20222925 2022-2023-2 《网络攻防实践》第十次作业

一、实践内容

SQL注入

Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中,再在后台 Sql 服务器上解析执行进行的攻击,它目前黑客对数据库进行攻击的最常用手段之一。
所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句。比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击。

XSS攻击

XSS攻击指的是通过利用网页开发时留下的漏洞,恶意攻击者往Web页面里插入恶意 Script代码,当用户浏览时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS全称是:跨站脚本攻击(cross site script)。按照国际惯例,命名应该以 CSS 命名,但是CSS与大家熟知的 层叠样式表(Cascading Style Sheets)重名了,因此取名为XSS。而实际上,就连“跨站脚本攻击”这个名字本身也另有来历,在这种行为最初出现之时,所有的演示案例全是跨域行为,所以叫做 “跨站脚本” 。时至今日,随着Web 端功能的复杂化,应用化,是否跨站已经不重要了,但 XSS 这个名字却一直保留下来。由于现代浏览器的“同源策略”已经让运行在浏览器中的javascript代码很难对外站进行访问了,所以, 这个漏洞的名称可能存在一定的误导性,让很多初学者看了很多次都不能理解这个漏洞的原理。随着 Web 发展迅速发展,JavaScript 通吃前后端,甚至还可以开发APP,所以在产生的应用场景越来越多,越来越复杂的情况下, XSS 愈来愈难统一针对,现在业内达成的共识就是,针对不同的场景而产生的不同 XSS需要区分对待。 可即便如此,复杂应用仍然是 XSS 滋生的温床,尤其是很多企业实行迅捷开发,一周一版本,两周一大版本的情况下,忽略了安全这一重要属性,一旦遭到攻击,后果将不堪设想。

二、实践过程

1、SEED SQL注入攻击与防御实验

我们已经创建了一个Web应用程序,并将其托管在 三达不溜.SEEDLabSQLInjection.com。该Web应用程序是一个简单的员工管理应用程序。员工可以通过此Web应用程序查看和更新数据库中的个人信息。此Web应用程序主要有两个角色:管理员是特权角色,可以管理每个员工的个人资料信息。员工是一般角色,可以查看或更新自己的个人资料信息。完成以下任务:

熟悉SQL语句

我们已经创建了一个名为Users的数据库,其中包含一个名为creditential的表。该表存储了每个员工的个人信息(例如,eid,密码,薪水,ssn等)。在此任务中,您需要使用数据库来熟悉SQL查询。
首先通过sudo su提权
然后通过指令service apache2 status,查看apache服务是否处于活跃状态在这里插入图片描述
通过指令mysql -u root -p,登录mysql数据库(此处密码为seedubuntu)
在这里插入图片描述
输入指令show databases;,查看mysql数据库中所有的库
由结果推测包含员工个人信息的creditential表在Users这个库中
在这里插入图片描述

输入指令use Users;,进入这个名为Users的数据库
再输入指令show tables;,便可查看Users数据库中所有的表
在这里插入图片描述
输入指令select * from credential;,查询Users数据库中名为creditential的表中存储的内容
由结果可知,creditential表存储了每个员工的ID、姓名、薪水等个人信息
在这里插入图片描述
通过指令select Name from creditential;查看此表中存储的所有员工姓名
在这里插入图片描述

对SELECT语句的SQL注入攻击

上述Web应用存在SQL输入漏洞,任务是在不知道密码的情况下登陆该Web应用程序
在浏览器登陆www.SEEDLabSQLInjection.com,用户名测试输入:lxy,密码测试输入:1234567890
在这里插入图片描述
在登录界面键入F12,然后点击Login,即可捕获刚才登录操作的数据
这时登录界面提示输入的账户不存在,且通过捕获的数据发现该Web应用程序将输入的用户名和密码发送至unsafe_home.php校验
在这里插入图片描述
输入/var/www/SQLInjection/unsafe_home.php,在Text Editor中打开www.SEEDLabSQLInjection.com存储动态信息文件var中的unsafe_home.php,即可查询到源代码
在这里插入图片描述
分析unsafe_home.php源代码
SQL语句中WHERE name= ‘$input_uname’ and Password=‘$hashed_pwd’将键入的用户名注入至$input_uname,将键入的密码注入至
$hashed_pwd
在这里插入图片描述
该Web应用通过用户名Admin区分管理员

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值