CTF干货系列——题目类型——Web

技能

CTF中主攻Web题的大(Web)佬(狗)们,通常需要点亮以下技能:

编程语言

编程语言黑魔法才是关键。

JavaScript

PHP

Python

Java

……

数据库

各种数据库的特性与差别,也包括黑魔法。

MySQL

msSQL

Access

Oracle

……

CVE漏洞

利用与分析。

这个需要多去看看近期漏洞。

……


基础知识

网站运行原理

HTTP协议

  • 概述

在传输层基于TCP/IP协议进行传输,本身属于OSI七层模型中的应用层。

HTTP协议工作于Client-Server架构之上。例如,最常见的client是Browser,浏览器作为HTTP client通过URL想HTTP server即Web服务器发送HTTP请求包,Web服务器根据HTTP协议解析请求后,向client发送相应信息。

  • 特点

简单,快速。几个字段就可以完整地描述所要请求的资源和数据内容。

灵活性。客户端以及服务器只需要使用Content-type字段来指定当前数据内容的MIME类型。

无连接。限制每次连接只处理一个请求。服务器处理完客户端请求并收到客户端应答后,即断开连接。

无状态。对于事物处理没有记忆能力。如果后续处理需要前面的信息,则必须重传,可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时应答较快。

  • 消息结构

前置术语

URI:统一资源标识符

回车符:%0d

换行符:%0a

请求数据包结构

client发送一个HTTP请求到server的请求报文包括以下格式:

请求行(request line)、请求头部(header)、空行、请求数据。

响应数据包结构

HTTP相应也由四个部分组成:

状态行、消息报头、空行、响应正文。

  • 请求方法

HTTP1.0

GET,请求指定的页面信息,并返回实体主体。

POST,向指定资源提交数据进行处理请求(例如提交表单或者上传文件),数据被包含在请求体中,POST请求可能会导致新的资源的建立、已有资源的修改。

HEAD,类似于GET请求,只不过返回的响应中没有具体内容,用于获取报头。

HTTP1.1新增

OPTIONS,

PUT,

DELETE,

TRACE,

CONNECT,

Web语言与容器

实验:抓包与重放


题型

以下常见套路,应该都熟悉才好。

爆破

md5

爆破随机数

验证码识别

……

绕WAF

绕过拦截。

花式绕MySQL

绕文件读取关键词检测

……

PHP特性

花式玩弄PHP。

弱类型

strpos和===

反序列化destruct

\0截断

iconv截断

……

密码题

hash长度扩展

异或

移位加密各种变形

32位随机数过小

找源码

Git

SVN

xxx.php.swp

www.(zip|tar.gz|rar|7z)

xxx.php.bak

文件上传

文件后缀

.php345

.inc

.phtml

.phpt

.phps

文件内容检测

<?php <? <% <scriptlanguage=php>

花式解析漏洞

MySQL

SQL注入攻击

和PHP弱类型类似的特性

0x,0b,1e之类

隐式转换

open_basedir&disable_functions花式绕过技巧

dl

mail

imagick

bash漏洞

DirectoryIterator

各种二进制选手插足的方法

条件竞争

竞争删除前生成shell

竞争数据库无锁多扣钱

社工

花式查社工库,微博、QQ

whois

Windows特性

短文件名

IIS解析漏洞

NTFS文件系统通配符

::$DATA

冒号截断

SSRF

花式探测端口

302跳转

花式协议利用

gophar直接取shell

XSS

各种浏览器auditor绕过

富文本过滤黑白名单绕过

flash XSS

CSP绕过

XXE

各种XML存在地方

rss/word/流媒体

各种XXE利用方法

SSRF,文件读取

协议

花式IP伪造

X-Forwarded-For,X-Client-IP,X-Real-IP,CDN-Src-IP

花式改UA

花式藏Flag

花式分析数据包


练习地址

打赏
  • © 2020 Shadowalker
  • Powered by Hexo Theme Ayer
    • PV:
    • UV:

请我喝杯咖啡吧~

支付宝
微信