2026/1/1 0:31:07
网站建设
项目流程
广州网站推广找谁,wordpress自动推荐插件,建一个网站需要多少钱?,wordpress 主题木马**# 从0学习CTF-从ctfhub来了解ctf、HTTP协议、信息泄露
在众多的ctf平台当中#xff0c;作者认为ctfhub对于初学者来说#xff0c;是入门平台的不二之选。ctfhub通过自己独特的技能树模块#xff0c;可以帮助初学者来快速入门。www.ctfhub.com 0x2 什么是ctf 这里作者截取…**# 从0学习CTF-从ctfhub来了解ctf、HTTP协议、信息泄露在众多的ctf平台当中作者认为ctfhub对于初学者来说是入门平台的不二之选。ctfhub通过自己独特的技能树模块可以帮助初学者来快速入门。www.ctfhub.com0x2 什么是ctf这里作者截取ctfhub中的部分介绍截图希望各位ctfer能自己上机操作熟悉来熟悉基本的流程。CTF简介获取文章中的flag复制粘贴到答题框中即可。竞赛模式随着时间的推移ctf的竞赛形式也变得越来越多样化但国内的比赛形式大部分都是分为三种类型分别是线上的理论题赛事、线上的ctf题目解题赛事也就是文中所讲解到的 Jeopardy-解题以及线下的AWD攻防竞赛。比赛形式各位ctfer想参加比赛的话可以通过关注ctfhub的赛事中心来选择自己想参加的ctf比赛https://www.ctfhub.com/#/calendar题目类型现在主流的题目类型是web、misc杂项、pwn二进制、crypto密码学以及reverse逆向当然ctf也会随着时代来进步现在的ctf题型不仅有以上题型还有mobile移动端、iot工控、blockchain区块链等一些其他方向。0x3 First flag签到题签到题的一般是将flag直接放在题目中或是用简单的base64编码的形式来让答题者直接获取到flag总之签到题的难度一般不会太难签到题的寓意就是让答题者在本次比赛中进行“签到”证明“我来过”。可以看到在签到题中flag就是直接写在了题目当中HTTP协议0x1 简介web相较于其他分支相对来说是上手较快的一种题型接下来咱就从前置技能开始来一步步了解web的一些题型。0x2 web前置技能从技能树中可以看到前置技能分为操作系统、数据库、HTTP协议、HTML/CSS和程序语言作者在这里列举部分目录各位ctfer可以在网络中搜索来了解ctfhub中所没有讲解到的技能。操作系统认识常见的windows操作系统命令熟悉常见的linux操作系统命令数据库mysql数据库sql语句redis数据库HTML/CSS了解HTML中的常见标签了解CSS的基本语法程序语言因为语言太多了作者在这里只列举常用的pythonphpjava0x3 了解HTTP协议接下来我们就通过ctfhub中的题目来认识http中的一些字段。大家可以先在菜鸟教程中先了解HTTP请求方式通常http中的请求方式有以下的9种类型GET、HEAD、POST、PUT、DELETE、CONNECT、OPTIONS、TRACE、PATCH题目中需要我们用CTFHUB的请求方式进行请求但是实际的请求方式并没有CTFHUB的请求方式于是我们通过修改原字段中的关键字GET进行替换为CTFHUB来进行发包请求可以获得到flag302跳转题目中有可以点击的链接但是点击完后并没有出现flag利用burp suite抓包并再次点击链接将抓取到的数据包发送到Repeater模块中可以通过ctrlr快捷键将数据包发送到Repeater模块也可以通过鼠标右键找到发送的选项选择send发送数据包就可以看到flag302是http的状态码表示临时重定向详细的HTTP状态码列表可以访问以下链接来参考https://www.runoob.com/http/http-status-codes.htmlCookie在http头中cookie这个字段可以保存使用者的一部分数据让使用者在第二次访问或是功能跳转的时候能保持以当前的身份进行页面的访问刷新该页面并抓取数据包在cookie字段中可以看到字段中存在admin0在repeater模块中我们修改为admin1重新发包获得flag基础认证basic authentication 是http协议中所支持的认证方式在用户访问页面时会有登录框进行登录验证。抓取数据包http头中的Authorization字段是用户登录的账号密码关键字可以将这个字段放到burp的decoder字段解密得到用户输入的账密把数据包发送到intruder模块进行爆破添加需要进行爆破的部分在题目中已经给出了常见的100个密码这里我们把密码先准备好设置payload把密码粘贴到simple list中再对密码进行一些加工根据authentication字段的规则添加前缀为账号大部分默认账号都是admin这里的前缀添加就写上admin添加完前缀后还需要将字段进行base64的编码这里找到encode进行base64的编码就可以了设置完后开始爆破可以成功爆破出flag响应包源代码访问页面是一个贪吃蛇的页面游戏右键查看源码或是在url链接中加上以下字段就可以查看页面源码view-source:可以看到flag就在页面源码当中信息泄露0x1 简介往往一些web题目会把提示信息隐藏起来并不会让我们直接的看到于是以下的技能就是我们需要去了解和学习到的。0x2 信息泄露目录遍历在web功能设计中,很多时候我们会要将需要访问的文件定义成变量从而让前端的功能变的更加灵活。当用户发起一个前端的请求时便会将请求的这个文件的值(比如文件名称)传递到后台后台再执行其对应的文件。在这个过程中如果后台没有对前端传进来的值进行严格的安全考虑则攻击者可能会通过“…/”这样的手段让后台打开或者执行一些其他的文件。从而导致后台服务器上其他目录的文件结果被遍历出来形成目录遍历漏洞。来到题目首页有点击寻找flag点击后就跳转到了一个可以进行目录遍历的路径下可以一个一个的去点击尝试直到找到flag但是这个方法麻烦了可以用爬虫来代替咱们点击的过程gospider爬虫工具gospider是用golang语言所编写的一款爬虫工具https://github.com/jaeles-project/gospider这里我们利用gospider来帮助代替重复性的访问点击操作如果你用的是linux机器执行程序需要chmod x gospider加上这条命令给上执行权限windows机器的话就直接执行相应的命令就行了./gospider -s http://challenge-089060d81f349462.sandbox.ctfhub.com:10800/flag_in here/ -d 8 -o output● -s 指定目标地址● -d 指定爬取的深度● -o 指定输出结果的文件名称在输出的结果文件里面筛选出关键字cat challenge-089060d81f349462_sandbox_ctfhub_com | grep flag.txt可以在浏览器中访问这个页面当然也可以在终端命令行的方式下进行页面访问用crul进行访问获得flagPHPINFOPHP Info或phpinfo()是一个标准的PHP函数它提供了PHP安装的各种技术细节。它允许查看服务器上安装的PHP版本一些服务器信息以及有关模块和扩展的信息。点击题目查看可以看到跳转到了phpinfo的页面在网页中检索 flag 关键字就能找到flag了实际上phpinfo是可以查看到很多的信息的特别是**disable_functions**字段在后期学习到命令执行、上传webshell都是需要考虑能使用哪些可用的函数在php的官网中也有详细的文档介绍phpinfo的每个字段中的含义https://www.php.net/manual/zh/function.phpinfo.php备份文件下载攻击者可以通过对网站进行web漏洞扫描直接利用爬虫来爬取网站可能存在的路径以及链接获取网站备份文件、过时文件、遗留文件等内容收集网站敏感信息从而有针对性地进行利用。网站源码题目提示的已经非常的清楚了我们可以将提示组合生成备份文件的字典利用burp suite去进行目录扫描这里我选择利用扫描备份目录的工具去进行扫描https://github.com/VMsec/ihoneyBakFileScan_Modify根据作者提供的方法可以快速进行扫描这里我们将输出的内容进行筛选筛选出成功的那一条在下载的文件中并没有找到flag我们访问现有的文件名看看资源是否存在得到flagbak文件在计算机中“.bak”是文件扩展名通常用于表示文件的备份副本。当程序要覆盖现有文件时例如当用户保存正在处理的文档时程序可能首先复制现有文件并在文件名后附加 .bak。这种常见的 .bak 命名方案使得在因操作系统崩溃、断电或磁盘空间耗尽而导致文件损坏的写入失败的情况下可以检索文件的原始内容。当我们了解到bak文件后就可以直接在访问的时候添加 .bak 来下载网站管理员没有清楚的备份文件当然这题也可以用扫描器来扫有没有备份文件前提是你的字典里面必须得有 index.php.bak 这个字段vim缓存首先我们先来了解下什么是vimVim是从vi发展出来的一个文本编辑器。说白了vim就是和notepad(记事本)一类的编辑器了解到vim后我们就来到题目vim存在一种缓存机制在使用vim编辑文本的时候它会生成该文件名后缀是.swp的一个备份文件但是在linux当中如果直接生成文件就会影响用户操作所以以 index.php 为例他会生成一个.index.php.swp的文件来隐藏缓存文件通过这一点来访问缓存文件最前面是有个 . 的 当我们下载完文件后不能直接去对他做打开的操作得用vim去进行缓存内容的查找来得到flagvim -r index.php.swp大家可以通过查阅以下文章来认识和了解vimhttps://www.runoob.com/linux/linux-vim.html.DS_Store.DS_Store (英文全称 Desktop Services Store) 是一种由苹果公司的 Mac OS X 操作系统所创造的隐藏文件目的在于存贮目录的自定义属性例如文件们的图标位置或者是背景色的选择。该文件由 Finder 创建并维护类似于 Microsoft Windows 中的 desktop.ini 文件利用工具ds_store_exp找到flag的位置https://github.com/lijiejie/ds_store_expGit泄露官方给出的解释是Git是一个开源的分布式版本控制系统 ,我们简单的理解为Git 是一个内容寻址文件系统也就是说Git 的核心部分是键值对数据库。当我们向 Git 仓库中插入任意类型的内容(开发者们在其中做的版本信息修改之类的操作)它会返回一个唯一的键通过该键可以在任意时刻再次取回该内容Git是一个可以实现有效控制应用版本的系统但是在一旦在代码发布的时候存在不规范的操作及配置就很可能将源代码泄露出去。那么一旦攻击者或者黑客发现这个问题之后就可能利用其获取网站的源码、数据库等重要资源信息进而造成严重的危害。首先我们先准备好工具BugScanTeam的Githack是对于我个人而言比较好用的工具注意得用python2的版本运行https://github.com/BugScanTeam/GitHackLog下载相应的.git信息到本地python GitHack.py http://xxx.xxx.com/.git下载完后我们先来到下载到文件的目录当中用git log命令可以查看到历史提交的在第二段commit中可以看到有add flag的提示所以我们需要恢复到第二个commit的状态这里有两种方法可以查看第一种就是用git diff做差异比较命令也比较简洁git diff 这段commit对应的hash值当然也可以用git reset做版本的回退git reset --hard 回退的commit对应的hash值然后文件下就会出现文件Stash首先我们先了解下什么是git stash当你想记录工作目录和索引的当前状态但又想回到一个干净的工作目录时请使用git stash。该命令将你的本地修改保存起来并将工作目录还原为与HEAD提交相匹配。这个命令所存储的修改可以用git stash list列出用git stash show检查用git stash apply恢复可能是在不同的提交之上。在没有任何参数的情况下调用git stash等同于git stash push。默认情况下储藏库被列为 “WIP onbranchname…”但你可以在创建储藏库时在命令行中给出更多描述性信息。上面官方的描述我理解为他和缓存相似就是多出一部分空间来存储临时想保存的数据回到题目当中用Githack将泄露的 /.git 下载到本地下面两条命令是在此次题目中所用到的git stash list#列出你目前拥有的储藏目录。每个 储藏目录 都列出了它的名字例如stash{0}是最新的条目stash{1}是之前的条目等等条目产生时的分支名称以及该条目所基于的提交的简短描述。 git stash pop#从贮藏库列表中移除一个单一的贮藏状态并将其应用于当前工作区状态之上也就是做git stash push的逆向操作。工作目录必须与索引匹配。查看当前目录所存储的flag文件被弹出Index出题者本意是想让大家了解到git中的工作区、暂存区和版本库的概念暂存库又名 stage 或 index但通过GitHack我们可以把 .git 文件都下载到本地这题的做法和 git log 一样关于git更为详细的部分大家可以点击以下网站学习https://www.runoob.com/git/git-tutorial.htmlSVN泄露Apache Subversion简称SVNsvn一个开放源代码的版本控制系统相较于RCS、CVS它采用了分支管理系统它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS转移到Subversion。SVN管理本地代码过程中会自动生成一个名为.svn的隐藏文件夹其中包含重要的源代码信息。一些网站管理员在发布代码时不愿意使用‘导出’功能而是直接复制代码文件夹到WEB服务器上这就使.svn隐藏文件夹被暴露于外网环境黑客可以借助其中包含的用于版本信息追踪的entries文件获取站点信息。直接下载下面两个工具需要注意的是dvcs-ripper工具是perl语言所编写的如果你的机器没有安装perl就老老实实在kali里面用它吧https://github.com/admintony/svnExploithttps://github.com/kost/dvcs-ripper.git这里SvnExpolit虽然跑出了flag的文件名但是访问并不存在改用dvcs-ripper这里跑完后要用ls -a找到 .svn 目录去查找内容HG泄露Mercurial(hg)是一种分布式版本控制系统它与Git类似也可以用于管理代码的版本控制如果Mercurial服务器的安全措施不当或用户不小心可能会导致Mercurial源码的信息泄露的问题而Mercurial源码信息泄露的原理是因为Mercurial服务器上的源代码未被正确保护导致未经授权的用户可以轻易地访问和下载代码首页提示 Mercurial我们继续用dvcs-ripper工具包查找关键字grep -a -r 关键字访问得到flag**文章来自网上侵权请联系博主互动话题如果你想学习更多网安方面的知识和工具可以看看以下题外话题外话黑客/网络安全学习路线今天只要你给我的文章点赞我私藏的网安学习资料一样免费共享给你们来看看有哪些东西。网络安全学习资源分享:下面给大家分享一份2025最新版的网络安全学习路线资料帮助新人小白更系统、更快速的学习黑客技术一、2025最新网络安全学习路线一个明确的学习路线可以帮助新人了解从哪里开始按照什么顺序学习以及需要掌握哪些知识点。对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图学习规划。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。读者福利 |CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击我们把学习路线分成L1到L4四个阶段一步步带你从入门到进阶从理论到实战。L1级别:网络安全的基础入门L1阶段我们会去了解计算机网络的基础知识以及网络安全在行业的应用和分析学习理解安全基础的核心原理关键技术以及PHP编程基础通过证书考试可以获得NISP/CISP。可就业安全运维工程师、等保测评工程师。L2级别网络安全的技术进阶L2阶段我们会去学习渗透测试包括情报收集、弱口令与口令爆破以及各大类型漏洞还有漏洞挖掘和安全检查项目可参加CISP-PTE证书考试。L3级别网络安全的高阶提升L3阶段我们会去学习反序列漏洞、RCE漏洞也会学习到内网渗透实战、靶场实战和技术提取技术系统学习Python编程和实战。参加CISP-PTE考试。L4级别网络安全的项目实战L4阶段我们会更加深入进行实战训练包括代码审计、应急响应、红蓝对抗以及SRC的挖掘技术。并学习CTF夺旗赛的要点和刷题整个网络安全学习路线L1主要是对计算机网络安全的理论基础的一个学习掌握而L3 L4更多的是通过项目实战来掌握核心技术针对以上网安的学习路线我们也整理了对应的学习视频教程和配套的学习资料。二、技术文档和经典PDF书籍书籍和学习文档资料是学习网络安全过程中必不可少的我自己整理技术文档包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点电子书也有200多本书籍含电子版PDF三、网络安全视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的网安视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。网上虽然也有很多的学习资源但基本上都残缺不全的这是我自己录的网安视频教程上面路线图的每一个知识点我都有配套的视频讲解。四、网络安全护网行动/CTF比赛学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。五、网络安全工具包、面试题和源码“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等感兴趣的同学不容错过。面试不仅是技术的较量更需要充分的准备。在你已经掌握了技术之后就需要开始准备面试我们将提供精心整理的网安面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。如果你是要找网安方面的工作它们绝对能帮你大忙。这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的如果大家有好的题目或者好的见解欢迎分享。参考解析深信服官网、奇安信官网、Freebuf、csdn等内容特点条理清晰含图像化表示更加易懂。内容概要包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…**读者福利 |**CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击