码迷,mamicode.com
首页 > Web开发 > 详细

Exp9 web安全基础

时间:2018-05-29 21:10:33      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:png   jar   一个   sql命令   exp   操作   百度云   local   FQ   

一、基础问题回答

(1)SQL注入攻击原理,如何防御

原理:

程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,攻击者利用SQL命令欺骗服务器执行恶意的SQL命令,获得某些他想得知的数据。

防御:

就像我们上次做实验对网页登陆的账户做了密码长度的限制,可以限制输入的长度、检查输入变量的数据类型,限制特殊字符的输入,把用户输入的or, –,‘;等关键字和特殊字符都过滤了,大不了抛出异常而已呗…… 或者用语言内建的安全机制(比如说 JDBC 的PreparedStatement就可以很大程度的防止 SQL 注入)

(2)XSS攻击的原理,如何防御
原理:

XSS攻击全称跨站脚本攻击,也由于没有对用户输入数据的合法性进行判断,攻击者在网页上插入恶意代码,攻击用户。

防御:

与防御SQL注入一样,可以通过检查用户的输入字符串,并做出限制。

(3)CSRF攻击原理,如何防御
原理:

跨站请求伪造,攻击者通过伪造身份等方式来达到一些非法目的,以你的名义来发送恶意请求。

防御:

使用验证码,表单中附加随机值,以此来防止冒充。

二、环境配置

真的是前人栽好树,后人好乘凉呀,只需要去杨正晖同学的百度云里下载7.1版本的webgoat然后拷贝到虚拟机里就可以用,之前我也下载了8.0版本的,结果他的答题模式是不一样,所以就放弃了 。

将7.1版本的webgoat下载好之后拷贝到虚拟机中,打开终端进入该目录输入
java -jar webgoat-container-7.0.1-war-exec
技术分享图片

然后打开浏览器在地址栏输入localhost:8080/WebGoat即可进入webgoat登录界面=-=
用默认帐号和密码即可登录。
技术分享图片
技术分享图片

三、实践过程

在这之前需要将自己的火狐浏览器稍微优化一下。。。。比如把浏览器调成中文,给浏览器加装两个插件可以翻译网页和取词翻译,当然这个在国内可能不太友好要FQ。。。当我没说哈哈哈哈哈
技术分享图片
不过好像没什么用,太慢了,国内不支持。

Injection Flaws——Numeric SQL Injection

原理大概就是要修改一下输入操作,这里kali上有自带的开发人员工具调试。要改的地方有两处第一个是SELECT * FROM weather_data WHERE station = [station]拦截报文将station字段后补充成一个永真式101 OR 1=1。于是整个语句就变成了SELECT * FROM weather_data WHERE station = 101 OR 1=1
技术分享图片

第二处要改的是这里,加一个恒等式就行
技术分享图片
技术分享图片

然后就可以看到所有城市的天气。。。
技术分享图片

四、实验总结与体会

Exp9 web安全基础

标签:png   jar   一个   sql命令   exp   操作   百度云   local   FQ   

原文地址:https://www.cnblogs.com/zhangweiye20154330/p/9107871.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!