20145308 《网络对抗》 Web应用 学习总结
20145308 《网络对抗》 Web应用 学习总结
实验内容
- (1)Web前端HTML
- (2)Web前端javascipt
- (3)Web后端:MySQL基础:正常安装、启动MySQL,建库、创建用户、修改密码、建表
- (4)Web后端:编写PHP网页,连接数据库,进行用户认证
- (5)最简单的SQL注入,XSS攻击测试
基础问题回答
- (1)什么是表单
- 在网页中负责信息采集,在网页中用户输入信息,通过表单能够提交到后台进行相应的处理
- (2)浏览器可以解析运行什么语言
- HTML、CSS,JS脚本会调用JS脚本引擎来处理,PHP的解释执行是在服务器端进行的
- (3)WebServer支持哪些动态语言
- ASP、PHP、JSP、Python
实验总结与体会
- 这次实验做的是Web相关的编程、攻击,之前有接触过HTML编程,所以这部分相对简单,但是没有接触过PHP脚本编程,都是看别人的代码例子,自己理解的来学习的,连接数据库的部分也是,自己理解的占大多数
- 这次实验在五一假期之后,所以从心理上就有些懈怠,又全部是代码,所以自己先把自己吓了一跳,后来做实验的时候发现也没有那么难,果然自己才是最大的敌人
实践过程记录
Apache
启动apache,查看端口占用

检测apache是否正常工作,fierfox访问
localhost:80,显示Apache截获的google登陆页面

编写网页
测试:apache读取工作目录下的文件

输入字符串
浏览器打开localhost:80/test.txt

前端编程
- 编写简单的用于login的HTML页面


- method参数是GET,所以输入值会在URL中显示、提交
- javascript,编写测试输入密码是否为空的代码
<html>
<head>
<meta charset ="UTF-8">
<script type="text/javascript">
function check_pwd()
{
var Pwd = document.form.password.value ;
if (Pwd ==""){
alert("password input cannot be empty!");
return false ;
}
}
</script>
<body bgcolor="#aaFFFFF">
<h1>login</h1>
<form name="form" action ="5308_login.php" method="GET" onclick="return inputshow()">
<input type="text" name="username" >
<br>
<input type="password" name="password" id="password">
<br>
<button type="submit" onclick="disp_alert()" value="submit" />submit</button>
</form>
</body>
</html>
测试,输入空的密码

弹出对话框

后端编程PHP
安装PHP
测试PHP

编写PHP尝试获得表单数据


- form使用POST方法提交,需要修改PHP也用POST方法


MySQL
安装启动Mysql
进入mysql

修改密码
在数据库中建表
表名users 四个字段userid、username、password、enabled 主键userid

向表中添加账户

PHP+mysql
- 编写PHP连接数据库,这就开始了艰难的查错之旅,一直也没查出代码的错误,最后发现是自己写代码时数据库的变量名一开始定义的是"mysql",但是调用的时候却写成了"mysali",哈,一个小字母,网页编程又不能报错。。。我能怎么办,我也很无奈啊。。。
- 测试,用数据库中的用户名密码登录,成功;否则失败


SQL注入
用户名输入
' or 1=1#,密码任意,就能登录成功

修改代码,允许多条执行,SQL注入将用户名和密码保存在数据库中

查询数据库发现已经修改成功

登录

XSS攻击
- 插入恶意脚本,用图片groot.jpg

20145308 《网络对抗》 Web应用 学习总结的更多相关文章
- 网络对抗——web基础
网络对抗--web基础 实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4)Web ...
- 20145334赵文豪网络对抗Web安全基础实践
1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...
- 20145308 《网络对抗》Web安全基础实践 学习总结
20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...
- 20145308 《网络对抗》 MSF基础应用 学习总结
20145308 <网络对抗> MSF基础应用 学习总结 实验内容 掌握metasploit的基本应用方式,掌握常用的三种攻击方式的思路.具体需要完成(1)一个主动攻击,如ms08_067 ...
- 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结
20145308 <网络对抗> MAL_免杀原理及实践 学习总结 实践内容 (1)理解免杀技术原理 (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免 ...
- 20145308 《网络对抗》 MAL_后门应用与实践 学习总结
20145308 <网络对抗> MAL_后门应用与实践 学习总结 实践目的 使用nc实现win和Linux间的后门连接 meterpreter的应用 MSF POST的应用 知识点学习总结 ...
- 20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
20145308 <网络对抗> 逆向及BOF进阶实践 注入shellcode+Return-to-libc攻击 学习总结 实践目的 注入shellcode 实现Return-to-libc ...
- 20145308 《网络对抗》 逆向及BOF基础实践 学习总结
20145308 <网络对抗> 逆向及BOF基础实践 学习总结 实践目的 通过两种方法,实现程序能够运行原本并不会被运行的代码 实践原理 利用foo函数的Bof漏洞,构造一个攻击输入字符串 ...
- 20155324王鸣宇 《网络对抗技术》Web基础
20155324王鸣宇 <网络对抗技术>Web基础 实践要求 ①Web前端HTML: 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HT ...
随机推荐
- Repeater 中TextBox 触发TextChanged事件
两种方法 1.TextBox 绑定TextChanged 并设置AutoPostBack ="true" ,如果不设置AutoPostBack ="true"则 ...
- tp 例子=登录逻辑
<?php namespace Home\Controller; use Think\Controller; class LoginController extends Controller{ ...
- 八 原型prototype和__proto__
先来看一个实例 function Foo() { } var foo = new Foo(); console.log(foo.prototype);// undefined console.log( ...
- Yii2返回以主键id为键名的数组
branch.php <?php namespace app\models; use Yii; /** * This is the model class for table "bra ...
- keras 上添加 roc auc指标
https://stackoverflow.com/questions/41032551/how-to-compute-receiving-operating-characteristic-roc-a ...
- 准备mysql-connector-java
下载mysql-connector-java:https://mvnrepository.com/artifact/mysql/mysql-connector-java 导入mysql-connect ...
- WEB应用程序:AJAX全套
概述 对于WEB应用程序:用户浏览器发送请求,服务器接收并处理请求,然后返回结果,往往返回就是字符串(HTML),浏览器将字符串(HTML)渲染并显示浏览器上. 1.传统的Web应用 一个简单操作需要 ...
- 设计模式之Bridge(桥接)(转)
Bridge定义 : 将抽象和行为划分开来,各自独立,但能动态的结合. 为什么使用? 通常,当一个抽象类或接口有多个具体实现(concrete subclass),这些concrete之间关系可能有以 ...
- java设计模式之动态代理的概述和实现
概述 1.代理:本来应该自己做的事情,请了别人来做,被请的人就是代理对象. 举例:春节回家买票让人代买 2.在Java中java.lang.reflect包下提供了一个Proxy类和一个Invocat ...
- c# 类的知识
在英语中类(class)是分类(classification)的根词.设计类的过程就是对信息进行分类,将相关信息放到有意义的实体中. 封装的目的: 封装就是定义类的重要原则.中心思想是:使用类的程序不 ...