20145337 《网络对抗技术》Web基础
一、实验后回答问题
-
什么是表单?
- 表单是HTML的一个重要部分,主要用于将用户输入的信息提交到服务器。如果是普通的HTML页面,则当浏览器提出请求时,服务器不做任何处理,直接把HTML页面发送给浏览器显示;而含有表单的网页,则会根据表达的内容在服务器上运算,然后把结果返回。
- 包含3个内容:表单控件,Action,Method
-
浏览器可以解析运行什么语言?
- HTML、XML、PHP、JAVA、ASP.NET、
-
WebServer支持哪些动态语言?
- JSP、ASP、PHP
二、实验总结与体会
- 这次实验较其他几次实验比起来,是我们学过的内容。但在实验过程中还是出了很多问题,这就表明上学期的“JavaWeb 应用开发”没有学扎实,这让我有点难过。通过网页的反馈,找出自己的问题所在,有的是方法问题,有的是数据库语法问题,逐一改正,得到了正确的结果。虽然使用了别的同学的代码,但也并不是一无所获。现成的代码尚且如此,自己的代码,会不会更加漏洞百出呢?
- 回顾复习了Web网页的运作流程,发现前端编程,网页开发什么的我还比较感兴趣(至少比C语言,Java明白的多一点)嗯,把Web应用开发的课本翻出来再看一遍
三、实验过程记录
Apache
-
1.启动
-
通过
systemctl start apache2
启动apache -
启动失败,通过
systemctl status apache2.service
查看启动失败的原因——http端口被占用。 -
kill被占用的端口,启动成功
- 2.测试
- 在浏览器输入
localhost:80
,测试apache能否正常工作
前端编程
-
1.在 /var/www/html,新建一个5337.html文件
-
2.编写一个含有表单的html
- 3.访问该网页
后端编程PHP
- PHP测试
MYSQL
- 1.启动
- 2.登陆
- 3.查看基本信息
- 4.建库建表
- 5.添加用户
PHP+MYSQL
- 1.编写登陆网页login.html(这里使用LTC同学代码)
- 2.连接数据库
- `connect_errno) {
printf("Connect failed: %s\n", $mysqli->connect_error);
exit();
}
echo "connection ok!";
/* Select queries return a resultset */
if ($result = $mysqli->query($query_str)) {
if ($result->num_rows > 0 ){
echo "
Wellcome login Mr/Mrs:{$uname}
"; } else { echo "
login failed!!!!
" ; } /* free result set */ $result->close(); } $mysqli->close(); ?> - `
- 3.访问登陆网页,用户名/密码 错误则登陆失败
SQL注入
- 1.构造SQL语句:在用户名输入框中输入' or 1=1#,密码随便输入。因为1=1永远成立的,即where子句总是为真,登陆成功
- 2.通过sql注入保存用户名密码到数据库
- ';insert into users(userid,username,password,enabled) values(2014,'Frown',password("5337"),"TRUE");#
XSS攻击
- 输入
<img src="5337.jpg" />20145330</a>
先进行简单的测试
-
但是不知道为什么,我的kali总是无法显示图片,重现下载/拷贝到相应文件夹,反复几次,都不成功,我就放弃了
-
嗯,我放的就是这张图