CTF学习记录(一)——Web基础

时间:2024-07-11 12:15:31

目录

  • Web基础
    • Web基础常用工具
      • ncat(网络工具中的瑞士军刀,功能齐全)
      • curl(一个工作在命令行的发起HTTP请求的工具)
      • BurpSuite(Web核心抓包工具)
      • Hackbar插件
      • SwitchyOmega 代理插件(非常牛逼)
      • Wappalyzer 技术判断插件
      • EditThisCookie 插件
      • Postman 接口测试工具
    • HTTP安全
      • URL编码
      • UA头伪造漏洞概念及利用方法
      • 来源伪造漏洞概念及利用方法
        • 阶段案例一:P9-[极客大挑战2019]HTTP
        • 阶段案例二:BUU BURP COURSE 1
    • 信息泄露
      • Dirsearch 扫描工具
      • .git和.svn泄露与利用
      • 其他源码泄露
        • 阶段案例三:[Web入门]粗心的小李

Web基础

Web基础常用工具

ncat(网络工具中的瑞士军刀,功能齐全)

这个工具Linux已经集成了,在命令行就可以使用,以kali为例
常用命令:

==========
nc -l -p 4567 :监听4567端口,通过浏览器对该端口发送请求,可以抓取HTTP请求

知识延申:端口号范围是0 ~ 65535,TCP/IP服务所使用的端口号都位于1~1023之间,1024以上的端口号为临时端口号,4567端口属于注册端口(1024 ~ 49151)

==========

curl(一个工作在命令行的发起HTTP请求的工具)

一个利用URL规则在命令行下工作的文件传输工具
常用命令:
curl www.baidu.com -H "User-Agent:123123":像百度发送一个修改了UA头的HTTP请求,其他的使用方法届时自行查阅

BurpSuite(Web核心抓包工具)

主要作用是抓包、改包、发包,功能极其强大,BP安装及代理设置教程 ,之前使用的是旧版本的渗透集成火狐浏览器,但是扩展性不太强,所以我设置成了最新版的火狐,并且利用代理切换插件实现了一键切换代理,比老版本的要方便很多
具体使用教程自行查阅

Hackbar插件

火狐和谷歌浏览器的插件工具,主要作用是构造请求并发送,使用方法自行查阅

SwitchyOmega 代理插件(非常牛逼)

主要作用:用于在浏览器中快速切换代理,省去了每次的配置流程,使用方法见书P12

Wappalyzer 技术判断插件

主要作用:判断当前网站主要使用哪些前后端技术构建

EditThisCookie 插件

主要作用:编辑当前网站存储在自己浏览器中的Cookie

Postman 接口测试工具

主要作用:构造请求包并发送出去,渗透开发都能用。Postman使用教程

HTTP安全

URL编码

日常HTTP请求中,例如回车,Tab,或者存在特殊意义的字符,如&(分割参数),#(锚点)等无法手工输入,倘如在解题时需要输入,就要用到URL编码,URL编码会将这些字符转换成%+16进制的ASCII码。
例如:我们要在 https://www.baidu.com/ 后添加 # 字符,就可以这么写: https://www.baidu.com/%23

UA头伪造漏洞概念及利用方法

UA头,是User-Agent的简称,每个HTTP请求都会携带UA头,这个头会包含我们所使用的操作系统版本,CPU,浏览器类型等。
在这里插入图片描述
UA头的作用是:某些应用会根据UA头判断客户端类型,例如必须要用微信客户端访问,或者说禁止某些浏览器访问

来源伪造漏洞概念及利用方法

HTTP请求头中还会携带一个Referer,它的作用是告诉服务器用户是从哪个页面过来的。修改改字段,可以伪造来源。可以应对一些需要固定来源的题目
在这里插入图片描述

阶段案例一:P9-[极客大挑战2019]HTTP

没啥难度

阶段案例二:BUU BURP COURSE 1

本题的难点是HTTP头部的伪造IP字段,有部分被过滤了,要一个一个试,比较麻烦,解决办法:把所有可以伪造IP的字段全部加进去:光速通过被过滤的字段

信息泄露

Dirsearch 扫描工具

一个目录扫描工具,kali的python库自带的有,可以用它结合字典来扫描网站目录上的敏感文件,命令为:
python3 dirsearch.py -u <URL> -e <后缀名> -w <字典路径>
其中:-e:指定扫描的后缀名,*为通配符
例如:
python3 dirsearch.py -u www.baidu.com -e '*' -w /usr/share/wordlists/dirb/big.txt
上述命令是对百度官网利用kali自带的敏感文件字典扫描敏感文件

.git和.svn泄露与利用

这俩都是分布式版本控制系统之一,组队敲代码时,万一将.git或.svn放在目录下一起发布,则可能造成源码泄露

针对git泄露,可以使用githacker工具,kali有自带的py代码,但我是直接安装的,教程:githacker安装使用教程

针对svn泄露,可以使用svnExploit工具,用法差不多同上

其他源码泄露

还有不少类型的敏感文件泄露案例,见书P22,遇到再补充

阶段案例三:[Web入门]粗心的小李

这题的难点是通过观察发现并推断出可能是git文件泄露,书上P22用的是.py的解法,我用的是安装班githacker的解法,书上的方法也有参考的必要,毕竟安装版的很麻烦,还要配置环境变量