zoukankan      html  css  js  c++  java
  • 20145229吴姗姗web安全基础实践

    20145229吴姗姗web安全基础实践

    基础与实践

    基础问题

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

    • SQL注入就是把SQL语句插入到之前已经定义好的语句中,作为网页中的比如用户名输入来达到攻击的目的,以此达到欺骗服务器最后执行恶意SQL的目的
    • 防御:去除代码中的敏感信息;采用字符串过滤的方法;限制SQL字符串连接的配置文件

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

    • XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。比如这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞旁路掉访问控制——例如同源策略(same origin policy)。这种类型的漏洞由于被骇客用来编写危害性更大的phishing攻击而变得广为人知
    • 防御:不能在页面中插入任何不可信数据,除非这些数已经据根据下面几个原则进行了编码;在将不可信数据插入到HTML属性里时,对这些数据进行HTML属性编码

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

    • CSRF攻击主要是由攻击者在网页中植入恶意代码或连接,当受害人的浏览器执行恶意代码或者受害人点击连接后,攻击者就可以访问受害人身份验证后的网络应用。
    • 防御:验证 HTTP Referer 字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证。

    实验体会

    • 这次的实验挺有趣的,能学到很多东西,这些套路深得人心,不过也再一次证明了任何东西都不是不可攻破的,我们要对自己平时上网的网络行为时刻小心谨慎,不能误入黑手!

    实践

    • kali中输入java -jar webgoat-container-7.0.1-war-exec.jar,开启webgoat

    • 在火狐浏览器中输入localhost:8080/WebGoat,进入webgoat,密码用户名默认就可以

    • XSS攻击
      (1)Phishing with XSS

    • 编写代码注入输入框中,会显示处网页,然后输入自己的用户名和密码,就会弹出,截获!

    (2)Stored XSS Attacks

    • 在message里面输入,然后title随便输一个,进行提交,再点击刚刚的title,成功!!

    (3)Reflected XSS Attacks

    • 首先我们可以在用户名里面随便输入巴拉巴拉,然后界面会显示你输入的东西有错

    • 这里我们输入指定的带有攻击性的url,,完成如下

    (4)Cross Site Request Forgery(CSRF)

    • 在message里输入,这里的screen以及menu取决于你自己的电脑,往下滑可以看到pramenters

    • 成功后会显示如图,点击消息,会显示转走用户4000元

    (5)CSRF Prompt By-Pass

    • 与上一个实验类似,添加了请求确认,所以需要两个iframe模块,在message里输入以下,menu以及screen同样在页面最底
    ![](http://images2015.cnblogs.com/blog/887020/201705/887020-20170515103906838-1317373963.png) ![](http://images2015.cnblogs.com/blog/887020/201705/887020-20170515103918307-442811546.png)
    • 成功如图

    • 成功小勾勾

    • SQL
      (1)Numeric SQL Injection

    • 这个需要配置fb,配置过程就不再赘述了

    • 前面设置好后随便选择一项,go,然后回到软件,发现截获了新的包,右键send to repeter,添加1=1,完成!


    (2)Database Backdoors

    • 输入33; update employee set salary=70000,修改一下工资呗
    • 留一个邮箱,把工资都发到自己设置的邮箱里面

    (3)Blind Numeric SQL Injection

    • 这里我们可以用盲注进行爆破,还是需要用到BP,输入101 AND ((SELECT pin FROM pins WHERE cc_number='1111222233334444') > 10000 );,然后用BP拦截,snifer模式

    • 由于报文长度从2364开始改变,所以试一试2364

    (4)Log Spoofing

    • 利用换行符伪造日志

    (5)String SQL Injection

    • 这个在上一次实验有做过,利用永真式,'or 1='1,直接登录

    • 完成的小勾勾

  • 相关阅读:
    leetcode390
    leetcode388
    leetcode373
    leetcode368
    leetcode372
    leetcode386
    基于自定义协议的服务器高并发处理之:多线程模型
    基于自定义协议的服务器高并发处理之:多进程模型
    macos下简单的socket服务器+客户端
    Windows下编译Libevent
  • 原文地址:https://www.cnblogs.com/20145229ss/p/6849661.html
Copyright © 2011-2022 走看看