CTF Web题的工作流

本文介绍了进行Web应用渗透测试的详细步骤,包括识别网站技术栈、理解网站工作原理、测试常见目录和文件、检查源文件和HTTP包。通过分析源代码、HTTP头信息和使用工具如Burp Suite,可以发现潜在的安全漏洞。此外,作者强调了保持清晰的笔记模版和不断积累经验的重要性。
摘要由CSDN通过智能技术生成

采用工作流的方式,让自己减少失误。避免出现在简单题耗费大量的时间。

  • 疏忽大意
  • 收集信息不齐

1 信息搜集

1.1 这个网站使用了技术

这个问题是非常有必要的,在 Python 中的模版注入会多于 PHP 中。

可以使用网页的拓展来测试属于什么语言,例如类似下面的拓展:

  • index.php
  • index.html
  • index.cgi

如果不起作用,可能采用了类似 Django 的 URL 分离的技术。

我们还可以根据网站的 404 页面来确认自己的猜想,404 页面还可以获取到 web server 的信息。即访问一个不存在的地址 /THIS_PAGE_DOESNT_EXIST,判断网站使用了 Apache 还是 Nginx?

另外,Web server 还可以通过网站的响应头获得。

最后,还可以考虑使用 Chrome 插件 Wappalyzer 来识别网站所使用的技术。

1.2 理解网站是怎么工作的

在这一阶段,我们需要了解 Web 应用程序是怎么工作的。有哪些功能可以使用?如何使用这些功能?

浏览整个网站过后,想象网站的代码大致是怎样的?网站提供的功能容易出现哪些漏洞?

1.3 测试常见的目录和文件

在国外,CTFs 通常不允许使用自动化的扫描工具,网站的目录通常是显而易见的。

但在国内,最好多收集一点字典和拓展后缀,指不定来个 .index.php.swo.listing

最好的路径爆破工具:burpsuite,不接受反驳。

1.4 检查源文件和请求头

1.4.1 源文件

分析每一个文件(HTML, JavaScript, CSS),获得有趣的注释、隐藏的特性、奇怪的脚本。我通常使用 burpsuite 来分析源码和请求头。

Note:CSS 文件也需要进行审计,可能通过 background 语句包含其他链接。

1.4.2 HTTP包审计

当经过每个文件的时候,检查请求和响应头是否有不正常的内容。

Note:你CTF题做得越多,你就越能确定什么是重要的,什么不是。

1.5 笔记模版

简单而清晰的模版,能让人快速找到信息之间的联系。

Backend : 
- Server : Apache 2.4.6 (CentOS)
- Language : PHP

Webapp description :
- The app is a messaging system, you can send messages to specific users and read messages.

Site map :
- /register.php (GET/POST)
- /login.php (GET/POST)
- /read_message.php (GET)
  - /read_message.php?messages=2 (GET)
- /send_message.php (GET/POST)
- /users.php (GET)
- /admin (Unauthorized)

- /js/ (Directory listing enabled)
- /css/ (Directory listing enabled)
- /images/ (Directory listing enabled)

Interesting Headers :
- Access-Control-Allow-Origin: http://127.0.0.1:9876

附录

参考文章:

  • https://github.com/Corb3nik/Web-Exploitation-Workflow#ctf-tactics
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值