20155307实验八 《网络对抗》 Web基础
20155307实验八 《网络对抗》 Web基础
实验过程
Web前端:HTML
- 使用netstat -aptn查看80端口是否被占用(上次实验设置为Apache使用80端口),如果被占用了就kill 原进程号,如果空闲就用apachectl start开启Apache,然后再次用netstat -aptn查看端口占用情况。

- 在kali的浏览器上输入localhost:80测试apache是否正常工作(我的虚拟机正常显示上次实验设定的钓鱼网站google网页)。

- 进入Apache工作目录
/var/www/html,新建一个lh5307.html文件,编写一个含有表单能实现输入用户名、密码实现登录的html。

- 打开浏览器访问
localhost:80/lh5307.html,出现刚才编写的HTML页面。

点击会跳转
Web前端:javascript
用JavaScript来编写一个验证用户名、密码的函数,当其为空时提示错误信息,把它和前面的liuhao.html合起来形成一个新的HTML网页lh5307.html。

Web后端:MySQL基础
- 用
/etc/init.d/mysql start开启sql服务。输入mysql -u root -p用账号root登录,并根据提示输入对应密码,我的MySQL默认密码就是直接回车,,最后再直接敲回车之后进入MySQL。

- 用
show databases;查看基本信息。

- 修改MySQL的root用户密码可以进行如下步骤
- 用use mysql;,选择mysql数据库。
- 用
select user, password, host from user;,查看mysql库中的user表中存储着用户名、密码与权限。

- 输入
UPDATE user SET password=PASSWORD("新密码") WHERE user='root';更改密码。 - 用
flush privileges;进行更新。

重新登录验证密码更改成功

MySQL建表建库
CREATE SCHEMA `库表的名称`; CREATE TABLE `库表的名称`.`users` ( `userid` INT NOT NULL COMMENT '', `username` VARCHAR(45) NULL COMMENT '', `password` VARCHAR(256) NULL COMMENT '', `enabled` VARCHAR(5) NULL COMMENT '', PRIMARY KEY (`userid`) COMMENT '');- 输入use 库表名使用刚建的库表。

输入insert into users(userid,username,password,enabled) values(ID号,'用户id',password("用户密码"),"TRUE");添加新用户。
PHP测试
新建一个PHP测试文件
vi /var/www/html/test.php,输入如下
<?php
echo ($_GET["A"]);include($_GET["A"]);
echo "php page 5307!
";
?>用浏览器打开
localhost:80/test.php,可以看见如下界面,测试成功

PHP+MySQL实现登录网页编写
- 打开之前的登录页面设置编写的文件夹
/var/www/html,输入vim login.php,通过- - PHP实现对数据库的连接

在其中输入正确的用户名和密码(即自己所新建数据库表中存在的新加入的用户和密码),显示登陆成功。

SQL注入
- 在用户名输入框中输入
' or 1=1#,密码随便输入,会显示登陆成功!

';insert into users(userid,username,password,enabled) values(66,'22',password("20155307"),"TRUE");# - 这是因为,这时候
' or 1=1#合成后的SQL查询语句为select * from lxmtable where username='' or 1=1#' and password=md5(''),#相当于注释符,会把后面的内容都注释掉,1=1是永真式,所以这个条件肯定恒成立,一定会登陆成功。
在用户名框中输入
';insert into users(userid,username,password,enabled) values(66,'22',password("20155307"),"TRUE");# - 通过SQL注入将用户名和密码保存在数据库中,这就相当于是
SELECT * FROM users WHERE username=''; insert into users(userid,username,password,enabled) values(66,'22',password("20155305"),"TRUE");

- 这时数据库中已经有了新输入的这个用户和密码。

使用这个新输入的这个用户和密码在网页中登录就没有问题了。
XSS攻击测试
XSS表示Cross Site Scripting(跨站脚本攻击),通过插入恶意脚本,实现对用户浏览器的控制。
- 在
/var/www/html目录下事先保存一个图片文件555555.jpg,在用户名输入框输入 < img src="555555.jpg" />,对应到php中,就是echo < img src="555555.jpg" /> ,然后既可以查看到图片了。 - 开始尝试的时候,攻击成功了,但图片一直加载不出来,后来给图片加上权限就可以了。

- 具体怎么加权限我请教的磊哥
输入chmod 777授予任何人读,写,运行的权限,终于图片可以显示了

实验总结与体会
这门课程刘念老师教过,但是想必都忘得差不多了,在同学的指导下一步一步的做,没遇到什么解决不了的问题,其实我想了一下可能这就是不同的过程所以收获不同吧,磊哥先做完了所以遇到了很多问题,他处理的同时也收获了许多,我可能收获不如他多。刘念老师以前讲的SQL注入我印象最深刻,所以很熟悉这方面的内容。
20155307实验八 《网络对抗》 Web基础的更多相关文章
- 网络对抗——web基础
网络对抗--web基础 实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4)Web ...
- 20155307刘浩《网络对抗》逆向及Bof基础
20155307刘浩<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件.该程序正常执行流程是:main调用foo函数,foo函数会回显任何用户输 ...
- 20145306 张文锦 网络攻防 web基础
20145306 网络攻防 web基础 实验内容 WebServer:掌握Apache启停配置修改(如监听端口)前端编程:熟悉HTML+JavaScript.了解表单的概念编写不同的HTML网页,放入 ...
- 20145334赵文豪网络对抗Web安全基础实践
1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...
- 2018-2019-2 网络对抗技术 20165236 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165236 Exp3 免杀原理与实践 一.实践内容(3.5分) 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5 ...
- 2018-2019-2 网络对抗技术 20165236 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165236 Exp2 后门原理与实践 一.实验内容 (3.5分) (1)使用netcat获取主机操作Shell,cron启动 (0.5分) (2)使用soc ...
- 2018-2019-2 20165236郭金涛《网络对抗》Exp1 PC平台逆向破解
2018-2019-2 20165236郭金涛<网络对抗>Exp1 PC平台逆向破解 一.实验内容 1.掌握NOP, JNE, JE, JMP, CMP汇编指令的机器码(0.5分) 2.掌 ...
- 2018-2019-2 网络对抗技术 20165227 Exp1 PC平台逆向破解
2018-2019-2 网络对抗技术 20165227 Exp1 PC平台逆向破解 实验内容及步骤 实验一:直接修改程序机器指令,改变程序执行流程 知识要求:Call指令,EIP寄存器,指令跳转的偏移 ...
- 2017-2018-2 20155228 《网络对抗技术》 实验八:Web基础
2017-2018-2 20155228 <网络对抗技术> 实验八:Web基础 1. 实践内容 1.1 Web前端HTML 能正常安装.启停Apache.理解HTML,理解表单,理解GET ...
随机推荐
- Android 如何执行java命令
android的程序基于java开发,当我们接上调试器,执行adb shell,就可以执行linux命令,但是却并不能执行java命令. 那么在android的shell中是否就不能执行java程序了 ...
- RecyclerView 下拉刷新和加载更多
一.SwipeRefreshLayout实现下拉刷新 1.方法API: setOnRefreshListener(OnRefreshListener):添加下拉刷新监听器 setRefreshing( ...
- 有道云笔记 markdown 本地资源图片 粘贴到word居然粘贴不过去 资源名不能有汉子
刚开始使用有道云笔记,整理一个说明文档的时候,出现了问题 我将一个图片保存到桌面,文件名是中文汉字的图片.在云笔记里能正常显示,但是粘贴到word里面,也没有图片.我尝试了半天.最后居然发现只要把文件 ...
- Visual Studio 2012 Update 1 离线升级包(相当于VS2012 SP1离线补丁包)
Visual Studio 2012 Update 1 发布也有一段时间了,吾乐吧尝试了好几次在线升级,但是网络不给力啊,结果都失败了.于是一直都想找到官方提供的VS2012 SP1完整离线升级包,不 ...
- Charles 模拟服务器挂掉Rewrite tools
1.点击相应请求 2.选择Rewrite 工具 3. 4. 5.保存 6.接下来就是重新发送请求了
- 阿里云rds实例恢复到本地
摘要: 前提: 1,阿里云数据库备份实例,恢复数据的时候需要将数据恢复到本地数据库,是不能直接恢复到RDS上的. 2,需要在本地服务器上下载一个数据库,尽量和RDS数据库版本保持一致.(我现在用的是5 ...
- ajax status 错误
status **:未被始化 status **:请求收到,继续处理 status **:操作成功收到,分析.接受 status **:完成此请求必须进一步处理 status **:请求包含一个错误语 ...
- django -- Celery实现异步任务
1. 环境 python==2.7 djang==1.11.2 # 1.8, 1.9, 1.10应该都没问题 celery-with-redis==3.0 # 需要用到redis作为中间人服务(Bro ...
- JAVA JComboBox的监听事件(ActionListener、ItemListener)
版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[+] 参考资料: http://263229365.iteye.com/blog/1040329 https://www.ja ...
- VMware 导出镜像文件供 Virtual Box 使用
1. 问题描述 Windows 系统安装的 VMware 里的安装配置好的虚拟机需要拷贝到 MAC 的 Virtual Box 中. 需要将 VMware 中的虚拟机导出为镜像文件供 Virtual ...