Exp9 Web安全基础

Exp9 Web安全基础

9.1 基础问题回答

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

  • SQL注入攻击是通过构建含有特殊SQL语法的一些组合的输入作为参数传入Web应用程序,通过输入中合法的SQL语句而执行攻击者所要执行的操作。
  • 由于输入大多有规范格式,因此我们在执行sql语句前可以先检查输入的合法性。同时也可以对特殊字符以及固定的一些常用sql语句进行过滤。

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

  • 简单来说就是一种利用了网站安全漏洞的攻击。攻击者往Web里插入恶意html标签或者javascript代码,使用户浏览该页或者进行操作时,利用用户对已网站的信任,利用这一漏洞来执行一些具有安全风险的操作导致用户信息的泄露。
  • 提交表单或url参数传递之前,要设置过滤规则,检查输入的内容中是否有非法内容,如脚本

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

  • 在用户已经打开的网页后,攻击者在得知用户后通过xss攻击将脚本注入服务器中,然后脚本通过用户cookie来借用用户的身份,向服务器发送请求,执行各种不法操作。
  • 限制Cookie的适用范围,避免使用用户信息明文传输的网站以及网页表单方法不应为单一的post

9.2 实验内容

9.2.1 安装webgoat

  • 从网上下载webgoat的jar包,丢到kali中

  • 使用java -jar webgoat-container-7.0.1-war-exec.jar
    或java -jar webgoat-server-8.0.0.M25.jar解压

  • 这里出现的问题是我装了7.0.1版本后发现没有题目,然后我就下载了最新版的8.0.0.M25

  • 然后我们网址中输入http://127.0.0.1:8080/WebGoat后进入到登陆界面中

  • 这里是可以直接注册,然后登陆


开始做题!

9.2.2 SQL注入

String SQL injection

Numeric SQL injection

Compromising confidentiality with String SQL injection

  • 另外一个注入应用,同时也涉及到了判断哪个可以用来注入

Blind SQL injection

  • 这里遇到了很大的困难,经过尝试发现突破点在注册界面

  • 从注册界面中进行了多次测试,发现在注册用户名上存在注入点

  • 然后在定位了用户名后,这里用来burpsuit来抓取包来辅助分析与破解

  • 最后我们成功得到了该用户的信息,登陆成功

9.2.3 xss攻击

  • 在自己的最新webgoat中发现有好多题目都没有,于是还是乖乖拷贝虚拟机,不过有的还是做了。

Phishing with XSS

  • 向请求凭据的对象插入HTML中,然后添加javascript以实际收集凭据

Reflected XSS Attacks

  • XSS反射攻击,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击
  • 这里是在两个平台上做的两道反射攻击的题



  • 攻击结果如图

9.2.4 CSRF攻击

Cross Site Request Forgery(CSRF)

  • CSRF攻击时通过伪装来自受信任用户,利用用户受信任的网站向其发送请求。
  • 攻击结果如图
posted @ 2019-05-26 21:27  20165103赵中楷  阅读(194)  评论(0编辑  收藏  举报