ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

20212904 2021-2022-2 《网络攻防实践》实践十报告

2022-05-22 01:01:59  阅读:175  来源: 互联网

标签:语句 XSS 20212904 攻击 Elgg Alice 实践 2021 SQL


20212904 2021-2022-2 《网络攻防实践》实践十报告

1 实践内容

1.1 SEED SQL注入攻击与防御实验

现有web应用程序员工管理应用程序托管在www.SEEDLabSQLInjection.com,管理员可以管理每个员工的个人资料信息,员工可以查看或更新个人资料。
完成以下任务:
(1)熟悉SQL语句: 现有名为Users的数据库,包含一个名为creditential的表,存储员工个人信息,此任务需要使用数据库来熟悉SQL查询。
(2)对SELECT语句的SQL注入攻击:上述Web应用存在SQL输入漏洞,任务是在不知道密码的情况下登陆该Web应用程序。
(3)对UPDATE语句的SQL注入攻击:通过员工的更新个人界面实施UPDATE语句的SQL注入攻击。
(4)SQL对抗:修复上述SQL注入攻击漏洞。

1.2 SEED XSS跨站脚本攻击实验(Elgg)

Ubuntu VM映像中设置了一个名为Elgg的Web应用程序。本实验需要利用此漏洞对经过修改的Elgg发起XSS攻击,攻击的最终目的是在用户之间传播XSS蠕虫,无论是谁查看的受感染用户个人资料都将被感染。
(1)发布恶意消息,显示警报窗口:在Elgg配置文件中嵌入一个JavaScript程序,以便当另一个用户查看您的配置文件时,将执行JavaScript程序并显示一个警报窗口。
(2)弹窗显示cookie信息:将cookie信息显示。
(3)窃取受害者的cookies:将cookie发送给攻击者。
(4)成为受害者的朋友:使用js程序加受害者为朋友,无需受害者干预,使用相关的工具了解Elgg加好友的过程。
(5)修改受害者的信息:使用js程序使得受害者在访问Alice的页面时,资料无需干预却被修改。
(6)编写XSS蠕虫。
(7)对抗XSS攻击。

2基础知识

2.1 SQL注入

2.2 XSS跨站脚本攻击

2 实践过程

2.1 SEED SQL注入攻击与防御实验

(1)熟悉SQL语句: 我们已经创建了一个名为Users的数据库,其中包含一个名为creditential的表,该表存储了每个员工的个人信息在此任务中,您需要使用数据库来熟悉SQL查询。

  • 输入命令sudo service apache2 start,密码是dees。输入mysql -u root -p,用户名是root,密码是seedubuntu,登录MySQL控制台。
  • 启动后,输入命令 show databases;命令查看所有数据库,使用命令use Users;加载Users数据库。
  • 输入show tables;查看库中有哪些表。
  • 输入WHERE子句指令select * from credential where Name='Alice'。

(2)对SELECT语句的SQL注入攻击:上述Web应用存在SQL输入漏洞,任务是在不知道密码的情况下登陆该Web应用程序。

  • 进入SEED已经搭建好的Web页面:www.SEEDLabSQLInjection.com。
  • 使用快捷键ctrl+U查看当前网页的源代码,用户点击提交后,表单将用户输入的信息使用get方法提交至unsafe_home.php页面进行权限校验。
  • 在sql语句中代表注释这里把‘#加到用户名后测试输入用户名为Admin' #,密码为空,发现登陆成功,进入以下界面。


(3)对UPDATE语句的SQL注入攻击:通过员工的更新个人界面实施UPDATE语句的SQL注入攻击。

  • 查看后台代码,打开文件/var/www/SQLInjection/unsafe edit home.php,查看划线语句:之所以刚才无需密码就可以登陆成功,是因为:
    • 在sql语句中代表注释,也就是说如果把#加在上述语句中,其之后的内容在实际过程中不会被执行。如果加载密码之前,也就是不会对密码进行验证。

    • ’代表代码这段内容在此处结束。
    • 因此如果我们输入的员工名是Admin’#,那就可以输出所有员工的相关信息。
  • 同样输入用户名为Alice’#,密码为空,成果登录Alice账号,查看Alice的Eid为10000。
  • 在Alice的编辑页面输入语句‘salary=’200’where eid=’10000’#。
  • 修改成功,Alice的薪水变成了200。

(4)SQL对抗:修复上述SQL注入,攻击漏洞。

  • SQL注入漏洞是因为由于执行语句和数据放在一起导致的,使用预处理语句机制可以很好的防止这一攻击出现。
  • 修改在unsafe_home.php中的sql预处理语句。
  • 修改unsafe_edit_backend.php中UPDATE语句。

2.2SEED XSS跨站脚本攻击实验(Elgg)

(1)发布恶意消息,显示警报窗口:在您的Elgg配置文件中嵌入一个JavaScript程序,以便当另一个用户查看您的配置文件时,将执行JavaScript程序并显示一个警报窗口。

  • 进入网站www.xsslabelgg.com。
  • 使用用户名:密码为Alice:seedalice,登录,右键Alice头像,点击Edit profile,在 Brief description 中插入XSS攻击代码,用于显示一个警告窗口。
  • 点击save保存,有如下弹窗。
  • 退出Alice账号,使用用户名:密码为Boby:seedboby,登录。
  • Friends-Search,搜索Alice添加她为朋友。
  • 点击Alice头像,会看到警告窗口。

    (2)弹窗显示cookie信息:将cookie信息显示。
  • 在Boby账号的Brief description插入JS语句。
  • 点击Save保存,会有弹窗显示当前Boby用户的的cookie信息。
  • 同样,登录Alice,账号查看Boby信息,也会有相关弹窗。

    (3)窃取受害者的cookies:将cookie发送给攻击者。
  • 查看本机IP:192.168.200.7。
  • 使用命令nc -l 5555 -v开始监听5555端口,其中 -l 指定端口, -v 显示详细信息。
  • 在Alice账号的Brief description插入js语句其中,192.168.200.7为本机(攻击机)IP。
  • 点击Save,监听结果显示当用户访问Alice profile时,打印出Boby用户的cookies。

    (4)成为受害者的朋友:使用js程序加受害者为朋友,无需受害者干预,使用相关的工具了解Elgg加好友的过程。
  • 首先Alice的账户中访问用户Boby的主页,并查看添加朋友的时候都需要干什么。
    • 打开浏览器的Tools-Web Developer-Network,点击Reload,点击Add friend。

    • 看到拦截到一个窗口,可以看到添加朋友请求的网址是http://...add?friend=...以及添加对象、当前时间等一系列参数。

  • 接下来构造javascript代码,其中的sendurl中包含了加朋友所需要的东西、。这段代码构建了一个添加朋友的请求,
    获取当前elgg_ts和elgg_token,然后构造一个URL访问,将这段代码添加到Alice的About me中(这里注意要是edit HTML模式)。

标签:语句,XSS,20212904,攻击,Elgg,Alice,实践,2021,SQL
来源: https://www.cnblogs.com/qwerzk/p/16296726.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有