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同样在页面最底


  • 成功如图

  • 成功小勾勾

  • 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,直接登录

  • 完成的小勾勾

20145229吴姗姗web安全基础实践的更多相关文章

  1. 20155324《网络对抗技术》web安全基础实践

    20155324<网络对抗技术>web安全基础实践 实验内容 使用webgoat进行XSS攻击.CSRF攻击.SQL注入 实验问答 SQL注入攻击原理,如何防御 ①SQL注入攻击是攻击者在 ...

  2. 20155326《网络对抗》Web安全基础实践

    20155326<网络对抗>Web安全基础实践 实验后回答的问题 SQL注入攻击原理,如何防御? 原理:SQL注入攻击指的是在Web应用对后台数据库查询语句处理存在的安全漏洞,通过构建特殊 ...

  3. 20145203盖泽双 《网络对抗技术》实践九:Web安全基础实践

    20145203盖泽双 <网络对抗技术>实践九:Web安全基础实践 1.实践目标 1.理解常用网络攻击技术的基本原理. 2.Webgoat下进行相关实验:SQL注入攻击.XSS攻击.CSR ...

  4. 20145236《网络对抗》Exp9 web安全基础实践

    20145236<网络对抗>Exp9 web安全基础实践 一.基础问题回答: SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或 ...

  5. 20145215《网络对抗》Exp9 Web安全基础实践

    20145215<网络对抗>Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符 ...

  6. 20145204张亚军——web安全基础实践

    web安全基础实践 实验后回答问题 1.SQL注入原理,如何防御 SQL注入:就是通过把SQL命令插入到"Web表单递交"或"输入域名"或"页面请求& ...

  7. 20145208 蔡野 《网络对抗》Exp9 web安全基础实践

    20145208 蔡野 <网络对抗>Exp9 web安全基础实践 本实践的目标理解常用网络攻击技术的基本原理.Webgoat实践下相关实验. 实验后回答问题 (1)SQL注入攻击原理,如何 ...

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

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

  9. 20145311王亦徐 《网络对抗技术》 Web安全基础实践

    2014531王亦徐 <网络对抗技术> Web安全基础实践 实验内容 利用WebGoat平台尝试了一些XSS.CSRF.SQL注入攻击 基础问题回答 1.SQL注入攻击原理,如何防御原理: ...

随机推荐

  1. TypeScript 基本类型(一)

    1.boolean 布尔值 true/false let isDone: boolean = false; 2.number 数字:和JavaScript 一样,TypeScript 里的所有数字都是 ...

  2. 直接下载jdk压缩包方式安装

    分为下面5个步骤 1.官网下载JDK 2.检查是否安装jdk,解压缩,放到指定目录 3.配置环境变量 4.设置系统默认JDK 5. 测试jdk 1.官网下载JDK      地址: http://ww ...

  3. Mysql event时间触发器,实现定时修改某些符合某一条件的某一字段

    我最近做项目遇到一个问题就是数据库的的订单需要定时检查自己的订单状态,如果到了endtime字段的时间订单状态还是2,就将订单状态修改为4 在网上找到类似的解决方法. 定时的关键是要结合mysql的某 ...

  4. $().each() 与 $.each()区别,以及 jquery ajax 应用

    在jquery 中我们可以选择$().each() 与 $.each() 进行迭代对象和数组 $(items).each(function(){ //item })   , 而后者则 $.each(i ...

  5. iOS侧面加shadow

    UIBezierPath *shadowPath = [UIBezierPath bezierPathWithRect:_bgView.bounds]; _bgView.layer.masksToBo ...

  6. java怎么计算散列码hashcode?

    转自:https://blog.csdn.net/qq_21430549/article/details/52225801 1.从HashMap说起 我们知道Map以键值对的形式来存储数据.有一点值得 ...

  7. jpa单向一对多关联映射

    如果在一的@OneToMany有@manyToOne则是双向一对多关联,如果在多的那面没有@manyToOne关联则是单向一对多关联 class和student是一对多的关系 表结构 student ...

  8. c# + Sql server 事务处理

    事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位. 通过事务,SQL Server能将逻辑相关的一组操作绑定在一起,以便 ...

  9. 巨蟒python全栈开发-第21天 继承

    一.今日主要内容 1.了解python2和python3类的区别 python2在2.2之前使用的是经典类,2.2之后,使用的是新式类 class Foo: pass class Foo(object ...

  10. Windows File 管理工具:junction And Subinacl

    junction.exe   是 Sysinternals 出品的命令行工具.使用前建议将其复制到%SystemRoot%/system32目录下 创建一个名为 D:/LINK 的[junction ...