20145237《网络攻防》Web基础
基础问题回答
什么是表单:
表单是一个包含表单元素的区域。表单元素是允许用户在表单中输入信息的元素。表单在网页中主要负责数据采集功能。
浏览器可以解析运行什么语言:
超文本标记语言:HTML;
可扩展标记语言:XML;
脚本语言:ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP等。
WebServer支持哪些动态语言:
比较常用的有ASP语言,PHP语言和JSP语言。
实践过程
-
(1)首先打开kali,输入命令
systemctl start apache2
,打开apache.接着输入nestat -aptn
查看端口号,在这里我没有将端口号修改为我的学号,用的是80端口。如果想要将端口修改自己学号,可以输入vi /etc/apache2/ports.conf
更改apache2的监听端口号。
-
(2)在浏览器中输入127.0.0.1:80,查看Apache是否正常运行:
-
(3)输入
cd /var/www/html
进入apache的工作目录下,新建一个.html
文件,我是以自己的学号命名。
-
(4)我们尝试输入用户名密码后,会出现Not Found错误
-
(5)所以我们还需要新建一个php文件
-
(6)打开浏览器访问localhost:80/文件名.html,之后输入用户名密码点击提交。成功跳转到自己刚刚写好的网页:
-
(7)之后我们可以在前面做成功的基础上,完善一个web前端javascript
- (8)测试修改后的成果
Web后端:MySQL基础
-
(1)输入
/etc/init.d/mysql start
启用MySQL;输入mysql -u root -p
进入MySQL;默认密码为:p@ssw0rd
-
(2) 输入
CREATE SCHEMA TestLogin;
创建一个数据库TestLogin;再依次输入以下命令创建数据库和新表:
1.use fhn;
2.create table fhn(username VARCHAR(20),password VARCHAR(32),telephone 3.VARCHAR(11));
-
(3)接着输入以下命令来填充表中的数据
insert into 表名
values('值1','值2','值3'...);
使用select * from 表名;查询表中的数据:
-
(4)接下来对php进行改编:
-
(5)用之前的前端打开输入密码,由于我之前的密码为123,这次修改后有了长度限制
-
(6)修改符合的密码后成功
-
(7)若登录失败
SQL注入
- (1)SQL注入实际上就是利用已有的语法知识在页面中用来填写用户名密码的地方来写脚本,从而达到非法登陆等目的;
在用户名输入框中输入' or 1=1#
,可以强行登陆:
XSS攻击
- (1)
XSS表示跨站脚本攻击,通过插入恶意脚本,实现对用户游览器的控制。
具体来说假如用户提交的数据含有js代码,不做任何处理就保存到了数据库,读出来的时候这段js代码就变成了可执行的代码。一般用户提交的数据永远被认为是不安全的,在保存之前要做对应的处理。
先将一张图片保存到/var/www/html目录下;
在用户名处输入fhn,点击登录就会出现保存在其中图片
实验总结与体会
这次实验让我们深入了解了遇到的那些欺骗网站是如何构成的,如果我们努力认真费功夫也能像学霸一样做一个非常逼真的网站,这次做实验的过称中遇到的一个问题是最后php文件修改后打开无内容,询问了学霸后,他们告诉我是环境有问题,只得用别人的电脑达成这一任务。