CORS-Vulnerable-Lab:与COSR配置错误相关的漏洞代码靶场

2019 年 8 月 18 日 FreeBuf

此存储库包含与CORS配置错误相关的易受攻击代码。你可以在本地机器上配置易受攻击的代码,以实际利用与CORS相关的错误配置问题。

在此,我想首先感谢@albinowax,AKReddy,Vivek Sir,Andrew Sir和@vanderaj对该项目的支持以及对我的鼓励!

实验环境设置

以下是在本地/远程机器上配置易受攻击代码的必要条件:

Apache web server

PHP 5/7

MySQL Database

配置步骤:

1.下载并解压缩Web服务器的“htdocs”或webroot目录中的代码。

2.打开PHPMyAdmin并创建名为“ica_lab”的新数据库。

3.如果你想使用MySQL“root”用户帐户,请跳过以下步骤直接到第5步。

4.通过执行以下SQL命令,创建一个名为“billu”的新用户:

  
  
    
grant all on ica_lab.* to billu@localhost IDENTIFIED BY 'b0x_billu';

5.在文本编辑器中打开“c0nnection.php”,并在PHP中进行如下更改:

  
  
    
change $conn = mysqli_connect("127.0.0.1","billu","b0x_billu","ica_lab");  to$conn = mysqli_connect("127.0.0.1","root","","ica_lab");

6.在PHPMyAdmin中,选择“database”,然后单击数据库名称“ica_lab”。

7.单击“Import”按钮,然后在本地计算机上浏览找到SQL转储文件“ica_lab.sql”。该文件位于存储库目录“database”中。

8.找到SQL数据库文件后,单击“Go”按钮。现在,数据库已准备就绪。

9.访问“CORS Vulnerable Lab”应用。

10.登录凭证已在输入字段中指定,只需单击“Let Me In”按钮即可。

靶场中的可用挑战

该实验环境中共模拟了3种错误配置。

应用程序信任任意来源

应用程序接受来自任意Origin的CORS请求。代码将“Origin”值放置在HTTP响应头“Access-Control-Allow-Origin”中。现在,此配置将允许来自任意“Origin”的任意脚本向应用发出CORS请求。Web浏览器将执行标准的CORS请求检查,而来自恶意域的脚本将能够窃取数据。

应用程序错误的“正则表达式”实现检查可信来源

应用程序已实施CORS策略,并对列入白名单的域/子域执行“正则表达式”检查。在这种情况下,应用程序在代码中实现了一个弱正则表达式,该代码仅检查在HTTP请求“Origin”头中的任意位置是否存在“b0x.com”域。如果HTTP头“Origin”的值为“inb0x.com”或b0x.comlab.com,则正则表达式会将其标记为pass。这种错误配置将导致跨域共享数据。

应用程序信任 Origin 头中指定 null 值

在此场景中,应用程序HTTP响应头“Access-Control-Allow-Origin”始终设置为“null”。当用户指定除null值以外的任意值时,应用程序将不会处理它,并在HTTP响应中保持“null”。很少有技巧允许攻击者执行攻击,并且可以使用CORS请求过滤受害者的数据。

示例

应用程序信任任意来源

应用程序接受“Origin”头中指定的任意值。

应用程序错误的“正则表达式”实现检查可信来源

应用程序信任白名单列表中的Origin。

应用程序不允许任何任意Origin。

在域名启动时应用弱正则表达式允许具有白名单域名字符串的Origin。

在域名末尾应用弱正则表达式允许具有白名单域名字符串的Origin。

应用程序信任 Origin 头中指定 null 值

应用程序接受“Origin”头中指定的“null”值。

应用程序不接受除“null”“Origin”之外的任意值。

*参考来源:GitHub,FB小编secist编译,转载请注明来自FreeBuf.COM

精彩推荐


登录查看更多
0

相关内容

【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【2020新书】如何认真写好的代码和软件,318页pdf
专知会员服务
63+阅读 · 2020年3月26日
算法与数据结构Python,369页pdf
专知会员服务
161+阅读 · 2020年3月4日
【新书】Java企业微服务,Enterprise Java Microservices,272页pdf
【GitHub实战】Pytorch实现的小样本逼真的视频到视频转换
专知会员服务
35+阅读 · 2019年12月15日
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
25+阅读 · 2019年6月8日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Arxiv
7+阅读 · 2018年11月27日
Arxiv
6+阅读 · 2018年1月14日
VIP会员
相关资讯
漏洞预警丨Xstream远程代码执行漏洞
FreeBuf
4+阅读 · 2019年7月25日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
25+阅读 · 2019年6月8日
渗透某德棋牌游戏
黑白之道
12+阅读 · 2019年5月17日
Kali Linux 渗透测试:密码攻击
计算机与网络安全
16+阅读 · 2019年5月13日
使用 C# 和 Blazor 进行全栈开发
DotNet
6+阅读 · 2019年4月15日
基于Web页面验证码机制漏洞的检测
FreeBuf
7+阅读 · 2019年3月15日
I2P - 适用于黑客的Android应用程序
黑白之道
30+阅读 · 2019年3月6日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Top
微信扫码咨询专知VIP会员