
CTF成长之路
CTF夺旗赛相关题目
愚公搬代码
《头衔》:华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,优快云博客专家,优快云商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。
《近期荣誉》:2022年度博客之星TOP2,2023年度博客之星TOP2,2022年华为云十佳博主,2023年华为云十佳博主,2024年华为云十佳博主等。
《博客内容》:.NET、Java、Python、Go、Node、前端、IOS、Android、鸿蒙、Linux、物联网、网络安全、大数据、人工智能、U3D游戏、小程序等相关领域知识。
展开
-
2021-08-16 CTFer成长之路-SSRF漏洞-Gopher协议攻击(mysql)
1.tcpdump进行抓包,并将抓到的流量写入/pcap/mysql.pcap文件2.开始抓包后,登录MySQL服务器进行查询操作(生成数据包)3.然后使用wireshark打开/pcap/mysql.pcap数据包,过滤MySQL,再随便选择一个包并单击右键,在弹出的快捷菜单中选择“追踪流 → TCP流”,过滤出客户端到服务端的数据包,最后将格式调整为HEX转储此时便获得了从客户端到服务端并执行命令完整流程的数据包,然后将其进行URL编码,得到如下数据:...原创 2021-08-16 15:44:54 · 49703 阅读 · 1 评论 -
2021-08-16 CTFer成长之路-SSRF漏洞-Gopher协议攻击(redis)
生成反弹shell脚本在burp中再进行一次url编码将编码结果传入到web的url参数中,可以看到目录下生成了shell.php原创 2021-08-16 15:30:19 · 50209 阅读 · 2 评论 -
2021-08-16 CTFer成长之路-SSRF漏洞-内部服务资产探测
内部服务资产探测SSRF漏洞可以直接探测网站所在服务器端口的开放情况甚至内网资产情况,如确定该处存在SSRF漏洞,则可以通过确定请求成功与失败的返回信息进行判断服务开放情况。例如,使用Python语言写一个简单的利用程序。...原创 2021-08-16 15:08:58 · 49735 阅读 · 0 评论 -
2021-08-16 CTFer成长之路-SSRF漏洞
SSRF的基本概念SSRF(Server Side Request Forgery,服务端请求伪造)是一种攻击者通过构造数据进而伪造服务器端发起请求的漏洞。因为请求是由内部发起的,所以一般情况下,SSRF漏洞攻击的目标往往是从外网无法访问的内部系统。SSRF漏洞形成的原因多是服务端提供了从外部服务获取数据的功能,但没有对目标地址、协议等重要参数进行过滤和限制,从而导致攻击者可以自由构造参数,而发起预期外的请求。SSRF漏洞的攻击方式❖ file://:从文件系统中获取文件内容,如file:///e原创 2021-08-16 15:03:30 · 49749 阅读 · 0 评论 -
2021-08-16 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(杂项知识点清单)
知识点一:Padding Oracle Attack(sql注入需要加密AES-CBC)知识点二:反序列化漏洞(getshell)知识点三:WindowsPHP本地文件包含/读取的特殊利用技巧(Windows下,“>”相当于正则通配符的“?”,“<”相当于“*”,“"”相当于“.”)知识点四:XXE漏洞(读取文件)Gopher协议(ssrf服务端伪造请求攻击uswgi)curl gopher://192.168.109.166:80/_GET%20/get.php%3fpara.原创 2021-08-16 11:22:18 · 50120 阅读 · 1 评论 -
2021-08-16 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(Docker版)
漏洞一:JavaScript对象污染;axios SSRF(UNIX Socket)攻击Docker API读取本地文件①拉取轻量级镜像docker pull alpine:latest=>:②创建容器docker create-v/flag:/flagindocker alpine–entrypoint “/bin/sh”–name ctfalpine:latest=>:启动容器docker start ctf:读取Docker的文件archive:...原创 2021-08-16 00:19:49 · 49530 阅读 · 1 评论 -
2021-08-09 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(SQL二次注入)
首先:使用BurpSuite自带的Intruder模块爆破密码后3字节漏洞一:通过git目录泄露还原出应用源代码python GitHacker.py http://ffd1ae28-f0e2-41c3-9522-ce58080f91e6.node3.buuoj.cn/.git/#链接为有git泄露的链接查看日志git log --relog还原文件git reset --hard e5b2a2443c2b6d395d06960123142bc91123148c<?phpin原创 2021-08-09 14:28:44 · 50331 阅读 · 1 评论 -
2021-08-09 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(Nginx版)
漏洞一:文件读取漏洞漏洞二:Aria2任意文件写入漏洞Aria2是个rpc服务,需要token才能进行服务内部调用,token是根据文件读取漏洞查找的原创 2021-08-09 10:02:20 · 50120 阅读 · 1 评论 -
2021-08-09 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(Node版)
漏洞一:浏览器协议支持及view-source的利用view-source:地址可以看源码,只针对火狐浏览器有效漏洞二:Node模板注入1.通过模板注入process.env.FLAGFILENAME获取flag文件名2.获取整个Node应用所在目录process.env.PWD漏洞三:file:///读取本地文件漏洞四:HTTP请求头的Range来控制输出的开始字节和结束字节。题目中的flag文件内容很多,直接请求无法输出真正flag的部分,需要从中间截断开始输出...原创 2021-08-09 09:50:19 · 50564 阅读 · 2 评论 -
2021-08-06 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(Ruby版)
漏洞一:Ruby On Rails框架任意文件读取漏洞;1:…/…/…/…/…/…/etc/passwd可以进行文件跳跃上图使用了Base64编码跳跃模式漏洞二:Rails cookies反序列化使用metasploit中相应的Ruby反序列化攻击模块直接攻击。服务端反序列化时,就会触发漏洞执行恶意代码...原创 2021-08-06 16:00:58 · 49964 阅读 · 0 评论 -
2021-08-06 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(Java版)
第一步::Java URL组件通过File协议列出目录结构,进而读取文件内容第二步::File协议使用如下如:获取C盘某个文件:file:///C:/Users/CLi/AppData/Local/Temp/WindowsLiveWriter1627300719/supfiles52F410/wangdan-se-436963[2].jpg...原创 2021-08-06 15:41:42 · 50302 阅读 · 0 评论 -
2021-08-04 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(Python版)
以django框架为例第一步::构造/…/…/…/…/…/…/etc/passwd,访问到系统根目录首先找到,static静态目录就可以穿越目录了static/../../../../../../../../../etc/passwddjango框架:__pycache__目录下,其中pyc,pyc问源码缓存文件第二步::ORM首先找到,static静态目录就可以穿越目录了static/../../../../../../../../../etc/passwddjango框架:__pyc原创 2021-08-04 17:12:32 · 50185 阅读 · 0 评论 -
2021-08-03 网络安全 SQLmap-tamper的使用
目录结构一、SQLMap中tamper的简介1.tamper的作用使用SQLMap提供的tamper脚本,可在一定程度上避开应用程序的敏感字符过滤、绕过WAF规则的阻挡,继而进行渗透攻击。部分防护系统的缩写:WAF:Web应用程序防火墙,Web Application FirewallIPS:入侵防御系统, Intrusion Prevention SystemIDS:入侵检测系统,Intrusion Detection System2.tamper用法–tamper=TAMPER 利用给原创 2021-08-03 09:11:44 · 50800 阅读 · 1 评论 -
2021-07-22 网络安全 sqlmap命令思维导图
原创 2021-07-22 17:06:32 · 50234 阅读 · 0 评论 -
2021-08-04 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(PHP版)
兵者多诡(HCTF 2016)【题目简介】在home.php中存在一处include函数导致的文件包含漏洞,传至include函数的路径参数前半部分攻击者可控,后半部分内容确定,不可控部分是后缀的.php。在upload.php处存在文件上传功能,但上传至服务器的文件名不可控。【题目难度】中等【知识点】php://协议的Filter利用;通过zip://协议进行文件包含【解题思路】打开题目,发现首页只有一个上传表单,先上传一个正常文件进行测试。通过对上传的数据进行抓包,发现POST的数据传输到原创 2021-07-09 16:54:22 · 51055 阅读 · 3 评论 -
2021-07-09 CTFer成长之路-任意文件读取漏洞-文件读取漏洞常见读取路径(liunx)
一:文件读取漏洞常见触发点1.Web语言不同的Web语言,其文件读取漏洞的触发点也会存在差异,本小节以读取不同Web文件漏洞为例进行介绍,具体的漏洞场景请读者自行查阅,在此不再赘述。1.1 PHPPHP标准函数中有关文件读的部分不再详细介绍,这些函数包括但可能不限于:file_get_contents()、file()、fopen()函数(及其文件指针操作函数fread()、fgets()等),与文件包含相关的函数(include()、require()、include_once()、require原创 2021-07-09 10:49:59 · 53077 阅读 · 6 评论 -
2021-07-08 CTFer成长之路-SQL注入-总结
注入的功效前面讲述了SQL注入的基础和绕过的方法,那么,注入到底有什么用呢?结合作者的实战经验,总结如下。❖ 在有写文件权限的情况下,直接用INTO OUTFILE或者DUMPFILE向Web目录写文件,或者写文件后结合文件包含漏洞达到代码执行的效果,见图1-2-53。❖ 在有读文件权限的情况下,用load_file()函数读取网站源码和配置信息,获取敏感数据。❖ 提升权限,获得更高的用户权限或者管理员权限,绕过登录,添加用户,调整用户权限等,从而拥有更多的网站功能。❖ 通过注入控制数据库查询出来原创 2021-07-08 14:49:15 · 50454 阅读 · 0 评论 -
2021-07-08 CTFer成长之路-SQL注入-逃逸引号
一:逃逸引号1.编码解码开发者常常会用到形如urldecode、base64_decode的解码函数或者自定义的加解密函数。当用户输入addslashes函数时,数据处于编码状态,引号无法被转义,解码后如果直接进入SQL语句即可造成注入,同样的情况也发生在加密/解密、字符集转换的情况。宽字节注入就是由字符集转换而发生注入的经典案例。宽字节注入原理: GBK 占用两字节 ASCII占用一字节 PHP中编码为GBK,函数执行添加的是ASCII编码,MYSQL默认字符集是GBK等宽字节字符原创 2021-07-08 14:36:24 · 50878 阅读 · 0 评论 -
2021-07-08 CTFer成长之路-SQL注入-字符替换
一:字符替换1.只过滤了空格除了空格,在代码中可以代替的空白符还有%0a、%0b、%0c、%0d、%09、%a0(均为URL编码,%a0在特定字符集才能利用)和/**/组合、括号等。假设PHP源码如下:$id = str_replace(" ","",$sql);2.将SELECT替换成空$id = str_replace("select","",$sql);3.大小写匹配在MySQL中,关键字是不区分大小写的,如果只匹配了"SELECT",便能用大小写混写的方式轻易绕过,如"sEleCT原创 2021-07-08 11:04:16 · 51201 阅读 · 2 评论 -
2021-07-08 CTFer成长之路-SQL注入-DELETE注入
一:DELETE注入语法:delect from wp_news where id = {$_GET['id']}为了保证不会对正常数据造成干扰,通常使用’and sleep(1)'的方式保证WHERE后的结果返回为False,让语句无法成功执行,见图1-2-43。后续步骤与时间盲注的一致,这里不再赘述。...原创 2021-07-08 10:52:55 · 50569 阅读 · 0 评论 -
2021-07-08 CTFer成长之路-SQL注入-UPDATE 注入
一:UPDATE 注入UPDATE语句适用于数据库记录的更新,如用户修改自己的文章、介绍信息、更新信息等。UPDATE语句的语法如下:例如,以注入点位于SET后为例。一个正常的update语句如图1-2-41,可以看到,原先表wp_user第2行的id数据被修改。当id数据可控时,则可修改多个字段数据,形如update wp_user set id=3,user='xxx' user = '23'其余位置的注入点利用方式与SELECT注入类似,这里不再赘述。...原创 2021-07-08 10:46:22 · 50765 阅读 · 0 评论 -
2021-07-08 CTFer成长之路-SQL注入-INSERT注入
一:INSERT注入1.注入点位于tbl_name语句:INSERT into {$_GET['table']} values(2,2,2,2)把密码查出来作为字段展示http://192.168.20.132/insert.php?table=wp_user values(2,'newadmin','newpass')#2.注入点位于VALUES假设语句为insert into wp_user values(1,1,’可控位置')此时可以闭合单引号,另行插入一条记录,通常管理员和普通用原创 2021-07-08 10:31:27 · 50919 阅读 · 0 评论 -
2021-07-08 CTFer成长之路-SQL注入-SELECT注入
一:SELECT注入1.注入点在select_expr语句:select ${_GET('id')} ,content FROM wp_news把密码查出来作为字段展示http://192.168.20.133/sqln1.php?id=(select%20pwd%20from%20wp_user)%20as%20title2.注入点在table_reference语句:select title from ${_GET('table')}把密码查出作为表名select title from原创 2021-07-08 10:06:26 · 50948 阅读 · 0 评论 -
2021-07-08 CTFer成长之路-SQL注入-报错注入和堆叠注入
一:报错注入报错注入可以获取数据表的账号密码二:堆叠注入可以删除数据表的数据http://192.168.20.133/sql4.php?id=1%27;delete%20%20from%20wp_files;%23原创 2021-07-08 09:09:41 · 50315 阅读 · 1 评论 -
2021-07-08 CTFer成长之路-SQL注入-字符型注入和布尔盲注
一:字符型注入和布尔盲注访问http://192.168.20.133/sql2.php?id=3-2,结果为空,猜测不是数字型,可能是字符型。继续尝试访问http://192.168.20.133/sql2.php?id=2a 有数据说明确实是字符型。尝试使用单引号来闭合前面的单引号,再用“–%20”或“%23”注释后面的语句。注意,这里一定要URL编码,空格的编码是“%20”,“#”的编码是“%23”,单引号的编码是“%27”。上面的情况只是一个参数,在两个参数的情况下则可以利用MySQL自带的函原创 2021-07-08 08:59:39 · 50250 阅读 · 1 评论 -
2021-07-07 CTFer成长之路-SQL注入-数字型注入和UNION注入
一:数字型注入和UNION注入mysql的语法参考:https://blog.youkuaiyun.com/weixin_40022980/article/details/82740860本节的目标是通过HTTP的GET方式输入的id值,将本应查询新闻表的功能转变成查询admin(通常为管理员)的账号和密码(密码通常是hash值,这里为了演示变为明文this_is_the_admin_password)。管理员的账号和密码是一个网站系统最重要的凭据,入侵者可以通过它登录网站后台,从而控制整个网站内容。下面复原注入原创 2021-07-07 16:57:35 · 50620 阅读 · 0 评论 -
2021-07-07 CTFer成长之路-信息收集-DedeCMS案例
一:织梦网站分析下面通过一个CTF靶场赛场景的复盘,来展示如何从信息搜集到获得flag的过程。1.环境信息❖ Windows 7❖ PHPstudy 2018(开启目录遍历)❖ DedeCMS(织梦CMS,未开启会员注册)2.解题步骤通过访问网站,根据观察和Wappalyzer的提示我们可以发现这是搭建在Windows上的DedeCMS,访问默认后台目录发现是404,见图:这时我们可以联想到DedeCMS在Windows服务器上存在后台目录爆破漏洞(漏洞成因在这里不过多叙述,读者可以自行查原创 2021-07-07 16:14:21 · 50938 阅读 · 6 评论 -
2021-07-07 CTFer成长之路-信息收集-Banner识别
一:Banner识别在CTF线上比赛中,一个网站的Banner信息(服务器对外显示的一些基础信息)对解题有着十分重要的作用,选手往往可以通过Banner信息来获得解题思路,如得知网站是用ThinkPHP的Web框架编写时,我们可以尝试ThinkPHP框架的相关历史漏洞。或者得知这个网站是Windows服务器,那么我们在测试上传漏洞时可以根据Windows的特性进行尝试。这里介绍最常用的两种Banner识别方式。1.自行搜集指纹库Github上有大量成型且公开的CMS指纹库,读者可以自行查找,同时可以借原创 2021-07-07 14:45:55 · 50639 阅读 · 0 评论 -
2021-09-13 CTFer成长之路-信息收集-敏感备份文件
一:敏感备份文件通过一些敏感的备份文件,我们往往能获得某一文件的源码,亦或网站的整体目录等。1.gedit备份文件在Linux下,用gedit编辑器保存后,当前目录下会生成一个后缀为“~”的文件,其文件内容就是刚编辑的内容。假设刚才保存的文件名为flag,则该文件名为flag~,通过浏览器访问这个带有“~”的文件,便可以得到源代码。2.vim备份文件vim是目前运用得最多的Linux编辑器,当用户在编辑文件但意外退出时(如通过SSH连接到服务器时,在用vim编辑文件的过程中可能遇到因为网速不够导致原创 2021-07-07 14:38:40 · 51332 阅读 · 2 评论 -
2021-07-07 CTFer成长之路-信息收集-敏感目录泄露
1敏感目录泄露通过敏感目录泄露,我们往往能获取网站的源代码和敏感的URL地址,如网站的后台地址等。1.1 git泄露[漏洞简介]git是一个主流的分布式版本控制系统,开发人员在开发过程中经常会遗忘.git文件夹,导致攻击者可以通过.git文件夹中的信息获取开发人员提交过的所有源码,进而可能导致服务器被攻击而沦陷。(1)常规git泄露常规git泄露:即没有任何其他操作,参赛者通过运用现成的工具或自己编写的脚本即可获取网站源码或者flag。这里推荐一个工具:https://github.com/原创 2021-07-07 14:00:39 · 51792 阅读 · 1 评论 -
2021-07-04 CTF夺旗赛 CTF 黑客大赛导引
CTF 黑客大赛导引目的介绍CTF比赛CTF比赛需要的知识储备CTF比赛的神器CTF比赛的作用CTF比赛的经验一:CTF比赛“夺旗大赛”比赛形式1.挖掘漏洞,利用漏洞进入对方电脑,拿到关键文件/home/www/flag/home/ctf/flag比赛历史与背景种类cftxcft--->强网杯tcftdefcon ctf 2.形式1.ctf线上赛web 二进制 杂项 2.ctf线下赛 web漏洞挖掘与利用---10%pwn漏洞与利用----90原创 2021-07-04 14:54:17 · 51855 阅读 · 2 评论