20212904 2021-2022-2 《网络攻防实践》实践十报告
作者:互联网
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=...以及添加对象、当前时间等一系列参数。
- 打开浏览器的Tools-Web Developer-Network,点击Reload,点击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