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应用 学习总结的更多相关文章

  1. 网络对抗——web基础

    网络对抗--web基础 实践内容 (1)Web前端HTML (2)Web前端javascipt (3)Web后端:MySQL基础:正常安装.启动MySQL,建库.创建用户.修改密码.建表 (4)Web ...

  2. 20145334赵文豪网络对抗Web安全基础实践

    1.SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的. 对于SQL注入攻击的防范,我觉 ...

  3. 20145308 《网络对抗》Web安全基础实践 学习总结

    20145308 <网络对抗> Web安全基础实践 学习总结 实验内容 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 基础问题回答 (1)SQL注入攻击原理, ...

  4. 20145308 《网络对抗》 MSF基础应用 学习总结

    20145308 <网络对抗> MSF基础应用 学习总结 实验内容 掌握metasploit的基本应用方式,掌握常用的三种攻击方式的思路.具体需要完成(1)一个主动攻击,如ms08_067 ...

  5. 20145308 《网络对抗》 MAL_免杀原理及实践 学习总结

    20145308 <网络对抗> MAL_免杀原理及实践 学习总结 实践内容 (1)理解免杀技术原理 (2)正确使用msf编码器,veil-evasion,自己利用shellcode编程等免 ...

  6. 20145308 《网络对抗》 MAL_后门应用与实践 学习总结

    20145308 <网络对抗> MAL_后门应用与实践 学习总结 实践目的 使用nc实现win和Linux间的后门连接 meterpreter的应用 MSF POST的应用 知识点学习总结 ...

  7. 20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结

    20145308 <网络对抗> 逆向及BOF进阶实践 注入shellcode+Return-to-libc攻击 学习总结 实践目的 注入shellcode 实现Return-to-libc ...

  8. 20145308 《网络对抗》 逆向及BOF基础实践 学习总结

    20145308 <网络对抗> 逆向及BOF基础实践 学习总结 实践目的 通过两种方法,实现程序能够运行原本并不会被运行的代码 实践原理 利用foo函数的Bof漏洞,构造一个攻击输入字符串 ...

  9. 20155324王鸣宇 《网络对抗技术》Web基础

    20155324王鸣宇 <网络对抗技术>Web基础 实践要求 ①Web前端HTML: 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HT ...

随机推荐

  1. IdentityServer3:.NET开源OpenID和OAuth2架构

    简介 大多数软件的相互沟通图:客户端与Web应用程序的访问.应用与Web api.api与api……相互沟通则需要授权.身份验证 IdentityServer3的功能:Web认证.SSO单点登录.We ...

  2. cocos2d-x JS 纯代码渲染Lable描边

    /** * Enables shadow style and sets color, offset and blur radius styles. * @param {cc.Color} shadow ...

  3. cocos2d-x C++ (利用定时器自定义屏幕双击事件函数)

    //GameScene.h #include "cocos2d.h" USING_NS_CC; class GameScene : public cocos2d::Layer { ...

  4. table可拖拽改变宽度

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. react-redux 使用后台数据初始化(渲染)界面

    注:首先在redux中改变state只能通过action操作,reducers改变state 在组件中 store.js import { createStore } from "redux ...

  6. LeetCode119.杨辉三角II

    给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行. 在杨辉三角中,每个数是它左上方和右上方的数的和. 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O ...

  7. 向量体系结构(2)----SIMD指令集扩展和GPU

    进行SIMD多媒体扩展的设计,源于一个很容易观察到的事实: 许多多媒体应用程序操作的数据类型比对32位处理器进行针对性优化的数据类型更窄一些. 图像三基色,都是8位.音频采样也都是8位和16位来表示. ...

  8. python ---多进程 Multiprocessing

    和 threading 的比较 多进程 Multiprocessing 和多线程 threading 类似, 他们都是在 python 中用来并行运算的. 不过既然有了 threading, 为什么 ...

  9. 转:安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法

    ext/iconv/.libs/iconv.o: In function `php_iconv_stream_filter_ctor':/home/king/PHP-5.2.13/ext/iconv/ ...

  10. mysql批量插入,批量更新

    进行批量操作的时候,一定要事先判断数组非空 <insert id="batchInsert"parameterType="java.util.List"& ...