zoukankan      html  css  js  c++  java
  • 20145228《网络对抗技术》Web安全基础实践

    实验内容

    理解常用网络攻击技术的基本原理。Webgoat实践下相关实验。

    基础问题回答

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

    把SQL命令插入到网页请求表单中来欺骗服务器;限制输入sql语句的关键词

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

    利用HTML以及用户端脚本语言注入攻击来获取cookie;过滤<script>等XSS攻击可能涉及到的字符

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

    攻击者伪装成用户,以用户的名义发送请求;利用随机验证码

    实验过程

    打开WebGoat:java -jar webgoat-container-7.0.1-war-exec.jar 等待一会就让它待在后台运行

    然后在浏览器输入localhost:8080/WebGoat进入

    SQL字符串注入(String SQL Injection)

    输入永真式'or 1='1,得到了全部的信用卡号

    数字型SQL注入(Numeric SQL Injection)

    此题无法在前端注入,需要利用BurpSuite

    ·设置代理“Proxy”的“Options”选项

    ·添加一个新的端口8888,点击add

    ·设置浏览器的代理 如图

    ·然后回到题目,GO,再到burpsuite,出现了捕获到的数据:

    ·然后点击send to repeater ,修改station值从为101 为 101 or 1=1,点击GO,

    成功

    命令注入(Command Injection)

    ·按上一个题目操作来,捕获到数据、

    ·send to Repeater,更改URL处为AccessControlMatrix.help"&&ifconfig"

    储存型XSS(Stored XSS Attacks)

    使用户访问时载入攻击者所期望的内容,直接输入<script>alert("you are a shabi.Had this been a real attack...hehe");</script>

    反射型XSS(Reflected XSS Attacks)

    欺骗用户自己去点击链接才能触发XSS代码,也就是说它的代码是不存在服务器中的,所以存储型XSS攻击危害更大。

    跨站脚本钓鱼攻击(Phishing with XSS)

    创建一个form,让用户在我们创建的form中填写用户名和密码,再添加一段JavaScript代码,读取用户输入的用户名和密码

    Cross Site Request Forgery(CSRF)

    ·利用URL诱使其他用户点击,来触发CSRF攻击,我们可以用图片的形式将URL放进Message框,这时的URL对其他用户是不可见的,用户一旦点击图片,就会触发一个CSRF事件。

    ·输入<img src=' attack?Screen=网站的scr &menu=网站的menu &transferFunds=转钱数额 >

    盲数字注入(Blind Numeric SQL Injection)

    ·尝试输入默认的101,发现是有效数字

    ·然后确定范围101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 100 );

    若有效,说明值大于100

    101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 10000 );
    若无效,说明值小于10000

    然后按此方法确定

    最后为2364

    log Spoofing

    ·要求是欺骗登录成功

    ·所以利用回车%0d,换行符%0a

    ·输入5228%0d%0aLogin Succeeded便可以假装进入

    String SQL Injection

    ·刚开始输入' or 1 = 1 --,这样是不行的,密码框被设置只能输入8位

    ·然后在页面点右键Inspect Element,将长度改为16,格式改为text便于我们查看自己的输入

    ·再次输入即可成功

    Database Backdoors

    ·输入' or 1 = 1 --

    ·后面要求使用该SQL语句实现在myBackDoor表中添加新用户就在用户表里将新用户的邮箱改为题目固定的邮箱。

    ·然后加上101 or 1=1;CREATE TRIGGER myBackDoor BEFORE INSERT ON employee FOR EACH ROW BEGIN UPDATE employee SET email='john@hackme.com'WHERE userid = NEW.userid;

    实验收获

    这次实验收获很多,学到了SQL、XSS、CSRF攻击的思路以及原理、方法,对网络攻击的方式更加多样化,理解了这些之后对我们如何防御这些攻击有了有较大帮助

  • 相关阅读:
    再谈TextField
    IOS-TextField知多少
    leftBarButtonItems
    LeftBarButtonItems,定制导航栏返回按钮
    Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法 Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法
    Unrecognized Selector Sent to Instance问题之诱敌深入关门打狗解决办法
    UNRECOGNIZED SELECTOR SENT TO INSTANCE 问题快速定位的方法
    Present ViewController,模态详解
    UILABEL AUTOLAYOUT自动换行 版本区别
    iOS自动布局解决警告Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
  • 原文地址:https://www.cnblogs.com/J000/p/6872634.html
Copyright © 2011-2022 走看看