20145306 网络攻防 web基础
实验内容
WebServer:
掌握Apache启停配置修改(如监听端口)
前端编程:
熟悉HTML+JavaScript。了解表单的概念编写不同的HTML网页,放入到Apache工作目录,从浏览器访问。
后端编程:
了解GET/POST方法的不同,尝试使用GET/POST方法传输用户在浏览器中的输入,并在后台用PHP读出参数,根据讲出参数的不同,返回不同的内容给浏览器。
数据库编程
在MySql客户端中练习基本SQL操作:建库、建表、数据增、删、改、查.在PHP中调用MySql库进行相应数据库操作.
实验体会
本次实验是实现web工程,利用HTML语言写前端页面,后台的处理用php来对前端传来的数据进行处理,mysql数据库的创建,以及sql语句查询数据库内容,还有最后sql注入,xss攻击。实验内容较多。sql注入部分攻击方法SQL要在理解sql语言的情况,后台的程序去执行我们填充的指令来实现登陆成功或者是像数据库中增加内容。
过程
- appche
端口修改为80,用netstat查看占用端口进程,关闭该进程,开启apache服务。 -
前端页面
- 进入appache的工作目录下。
- 并且创建一个页面。
-
php
-
login5306.php
-
在浏览器中输入localhost/145336login.html;输入用户名,密码;然后提交表单,之后跳转php页面,回显输入的用户名密码信息。
-
-
mysql数据库
- 启动数据库
- 创建一个新的数据库;
- 建立一张新表 zwj,有username和password两个字段,最长各20个字符;
- 添加记录;
- 数据库表;
-
实现一个连接数据库的登录界面
*结合上面所完成的页面。
- login5306.php,145306login.html
- 输入用户名密码正确登录成功
-
SQL注入
SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,包括以前见到的在地址栏中输入一些特殊的命令,通过服务器的反馈信息也能够获得后台数据库的部分信息。下面就是一个简单的SQL注入
- 在用户名输入框中输入' or 1=1#,这时候随便输入一个密码,就可以实现登录成功。
- 输入用户名' or 1=1#后 select 语句就变成了
select * from zwj where username='' or 1=1#' and password=''
-
sql出入 向user表中增加一条记录,从而实现登录成功。
- 修改.php文件使的登录数据库时执行多条数据库指令。
-
进入页面,在用户名一栏上写 ';insert into zwj values('add','20145306');#
- #是注释掉后面的内容,在执行数据库语句是实际上执行的不止是查询语句SELECT * FROM zwj WHERE username='' 还有insert into zwj values('add','20145306') 向数据库中增加一条记录。
-
使用新加入的记录在页面登录
- 在用户名输入框中输入' or 1=1#,这时候随便输入一个密码,就可以实现登录成功。
-
xss攻击
- xss攻击(Cross Site Scripting),跨站脚本攻击是新型的“缓冲区溢出攻击,就是将恶意代码例如jsp代码植入到提供给其它用户使用的页面中,从而获取用户主机的一些信息。
- 输入到用户名框中便可以得到/var/www/html 中的一张图片。
-
-
WebServer支持哪些动态语言?
- ASP,PHP,JSP
-
什么是表单?
- 表单是一张表,具体内容可以包括输入框,单选框,复选框等一些元素。表单内容可以提交到其他页面。
-
浏览器可以解析运行什么语言?
- 超文本标记语言 html ;脚本语言 ASP、PHP、Script、JavaScript、VBScript、Perl、Python、ColdFusion、Java、JSP;可扩展标记语言:XML
-
- xss攻击(Cross Site Scripting),跨站脚本攻击是新型的“缓冲区溢出攻击,就是将恶意代码例如jsp代码植入到提供给其它用户使用的页面中,从而获取用户主机的一些信息。