《靶场实战》
文章平均质量分 65
一步一步搭建靶场环境,解析通关步骤并详细讲解涉及到的知识点和漏洞原理。
士别三日wyx
2022年北京冬奥会网络安全中国代表队,CSDN Top100,持续分享网络安全干货,商务合作+V shibiesanriwyx
展开
-
CTFShow web1-7——CTF秀WEB模块解题思路
CTFShow WEB模块详细通关教程, 受篇幅所限, 通关教程分为上下两部分, 第一部分为1-7关, 第二部分为8-14关, 本篇博客为1-7关的通关教程, 从解题思路和所用到的知识点两个方面进行讲解CTFShow web1-7关详细教程解题思路CTFShow web签到题CTFShow web2CTFShow web3CTFShow web4CTFShow web5CTFShow web6CTFShow web7知识点php://input伪协议日志注入MD5加密漏洞-0e绕过过滤空格的绕过方式.原创 2021-09-15 08:40:37 · 17096 阅读 · 26 评论 -
CTFshow web15
ctf.show萌新模块 web15关, 这一关是代码执行漏洞, 需要灵活的运用PHP的命令执行函数, 在上一关的基础上又过滤了 = ? > 关键字, 看起来已经没啥思路了, 但仔细一看, 它居然取消了对分号;的过滤, 这样一来就好办了, 继续上一关的曲线救国思路, 先GET请求传递一句话木马, 再用POST请求传递系统命令, 即可拿到 flag进入页面后, 可以看到部分源码, 源码中提示 flag 就藏在 config.php 文件中源码中通过GET请求获取参数, 并...原创 2021-09-12 19:53:35 · 14256 阅读 · 12 评论 -
ctfshow-萌新-web14( 曲线救国-POST请求绕过获取网站敏感信息)
ctf.show萌新模块 web14关, 此关卡是一个代码执行漏洞, 重点在于命令执行函数的利用方式, 源码中过滤比较严格, 尤其是过滤了分号;之后, 虽然可以用?>来代替分号, 但这样一来就只能执行一行代码, 难度较大, 需要注意的是, 源码中的过滤只针对GET请求的参数, 而未对POST请求的参数做限制, 这里推荐曲线救国,GET请求传递一句话木马, 然后在POST请求中传递参数执行系统命令, 从而获取 flag来到页面后展示了部分源码, 并提示 flag 就在 config....原创 2021-09-12 17:31:59 · 14414 阅读 · 1 评论 -
ctfshow-萌新-web13( 利用代码执行漏洞获取网站敏感文件)
ctf.show萌新模块 web13关, 这一关的考点是代码执行漏洞, 需要灵活的运用各种命令执行函数, 源码中过滤了system, exec, highlight函数, cat命令, congfig, php, 点和分号等关键字, 推荐使用反引号`` 进行绕过页面中展示了部分源码, 并提示 flag 就在 config.php 文件中源码中过滤了参数中的 system exec highlight cat . ; file php config 等关键字, 这里可以使用 pass...原创 2021-09-11 23:35:42 · 16139 阅读 · 2 评论 -
ctfshow-萌新-web12( 利用命令执行函数获取网站敏感信息)
ctf.show萌新模块 web12关, 这一关考察的是代码执行漏洞的利用, 重点在于命令执行函数的利用方式, 推荐使用反引号(``) 或者 base64加密绕过页面中展示了部分源码, 并提示我们 falg 就在 config.php文件中, 读取文件内容即可拿到 flag首先分析一下源码重点在这个if判断中, 过滤了参数中的 system exec highlight cat . php config 关键字, 只要绕过这些过滤条件就能使用 eval()函数执行代码...原创 2021-09-11 22:13:56 · 13582 阅读 · 3 评论 -
ctfshow-萌新-web11( 利用命令执行漏洞获取网站敏感文件)
ctf.show萌新模块 web11关, 这一关考察的是命令执行漏洞的利用, 源码中过滤了一部分命令执行函数和文件查看的命令, 推荐使用 passthru()函数配合 more命令获取敏感文件中的flag页面中展示了一部分源码, 并提示flag就在 config.php文件中源码过滤了参数中的 system, exec, highlight, cat 等关键字, 我们使用passthru()函数来执行系统命令, 查看文件内容的话可以使用 more命令来代替 cat, 先查看一...原创 2021-09-10 20:28:36 · 13411 阅读 · 1 评论 -
ctfshow-萌新-web10( 利用命令执行漏洞获取网站敏感信息)
ctf.show萌新模块 web10关,这一关考察的是命令执行漏洞的利用,闯关者需要知道3个以上PHP命令执行函数的使用,推荐使用passthru()页面中展示了部分源码,并提示我们 flag 在 config.php 文件中源码中过滤了 system,exec,highlight 这三个常用的PHP命令执行函数,绕过过滤条件就可以使用 eval() 函数执行PHP代码了,我们使用其他的命令执行函数即可,这里使用passthru()函数即可,先查看一下当前目录?...原创 2021-09-10 17:27:55 · 13466 阅读 · 0 评论 -
ctfshow-萌新-web9( 利用命令执行漏洞读取网站敏感文件)
ctf.show萌新模块 web9关,这一关考察的是命令执行漏洞的利用方式,使用PHP的命令执行函数执行系统命令,读取网站根目录下的配置文件,获取flag页面中展示了部分源码,很明显是作者提示我们利用命令执行漏洞,并提示 flag 就在 config.php 文件中提交的参数中必须包含 system,exec,highlight其中一个关键字,才能使用 eval()函数执行PHP代码,我们先用 system()执行系统命令,看能否正常使用?c=system('ls'...原创 2021-09-10 16:51:09 · 14496 阅读 · 0 评论 -
ctfshow-萌新-web8( 从删库到跑路)
ctf.show萌新模块 web8关,这一关考察的是一个梗???进去页面以后展示了部分源码,提交一个参数flag,与文件中的key相同即可夺旗这一关的线索就在进入关卡的弹窗中,阿呆熟悉的一顿操作,去了埃塞尔比亚是非洲的一个国家,这是删库跑路的节奏啊,payload如下?flag=rm -rf /*rm指令rm -rf /* 是Linux的一条指令,/*代表根目录下所有路径,作用是删除根目录下所有文件,也就是删除系统中的所有文件格式:rm ...原创 2021-09-10 16:21:40 · 14114 阅读 · 3 评论 -
ctfshow-萌新-web6( 利用二进制绕过获取网站敏感信息)
ctf.show萌新模块 web6关,这一关的考点是intval()函数转换字符串的特性,以及SQL注入漏洞的绕过方式,源码中过滤了单双引号,or,加减乘除号,叹号,异或,hex,select等关键字,推荐使用二进制绕过页面中展示了部分源码,并提示我们 id=1000 时,就是flag这里先上答案,payload如下?id=0b1111101000接下来详细解释一下解题的思路,首先是利用intval()函数转换字符串的特性进行绕过intval()函数...原创 2021-09-10 15:22:09 · 11745 阅读 · 1 评论 -
ctfshow-萌新-web5( 利用位运算符控制SQL获取网站敏感信息)
ctf.show萌新模块 we5关,这一关考察的是intval()函数转换字符串的特性和SQL注入的绕过思路,这一关过滤了单双引号,or,斜杠,加减乘除号,叹号,括号,select等关键字,推荐使用取反运算符(~)来控制SQL语句,获取flag页面中展示了部分源码,提示我们 id=1000时,即可拿到flag首先分析一下解题的思路,源码中过滤了参数中的 ‘ ” or \ - / * < > ! x hex ( ) select 等关键字,那我们不包含这些关键字就行了;...原创 2021-09-10 14:53:23 · 13415 阅读 · 1 评论 -
ctfshow-萌新-web4( 利用逻辑运算符绕过获取网站敏感信息)
ctf.show萌新模块 web4关,这一关考察的是 intval()函数转换字符串的特性,以及SQL注入漏洞的绕过方式,源码中过滤了or,加减乘除(+-*/),左右移,括号,|,select等关键字,我们使用短路逻辑或(||)来替替代or 即可页面中展示了部分源码,提示我们 id=1000 时,即可获取flag首先分析一下思路,源码中过滤了参数中的 or - / * < > ! ( ) + select 等关键字,所以我们的参数中不能包含这些关键字,否则会直接 d...原创 2021-09-10 14:19:56 · 13775 阅读 · 0 评论 -
ctfshow-萌新-web3( 利用intval函数的特性配合联合注入获取网站敏感信息)
ctf.show 萌新模块 web3关,此关卡考察的是 intval()函数的特性,以及SQL注入漏洞的利用;首先需要利用 intval()转换字符串的特性绕过校验,而后利用联合注入获取数据库中的敏感信息,从而获取flag,源码中过滤了or,加减乘除(+-*/),hex,!等关键字,这里推荐使用联合注入页面中给出了源码,并提示我们 id=1000 时,就可以拿到flag源码中由两个关键点,首先是intval()函数的转换,这里可以利用 intval()函数转换字符串时的特性...原创 2021-09-09 15:00:19 · 12011 阅读 · 1 评论 -
ctfshow-萌新-web2( 利用intval函数特性配合SQL的特殊符号获取敏感数据 )
ctf.show 萌新模块 web2关,此关卡使用intval()函数强制将参数转换成数值型,可以使用字符绕过,配合特殊符号控制SQL的查询结果,从而获取flag,这一关过滤了or,我们可以使用加号,减号,乘号,除号,或,左移等方式绕过页面中给出了源码,并提示我们 id=1000时,即可获取flag这里有两个关键点,首先是intval()函数的转换,我们可以利用intval函数转换字符串时的特性,来绕过校验,输入一下payload,即可获取flag?id=2*500...原创 2021-09-09 14:22:45 · 13697 阅读 · 0 评论 -
ctfshow-萌新-web1( 利用intval函数的特性获取敏感数据)
ctf.show 萌新模块的web1关, 这一关考察的是intval()函数转换字符串时的特性以及SQL的拼接绕过这一关直接就给了源码, 并提示我们 id = 1000 时, 就是flag先分析一下源码, 首先是 intval()函数将参数id转换为数值型, id > 999直接die()结束程序, 也就是说我们传递的id不能大于 999, 明知道1000就是flag, 但不能直接传1000, 否则程序会直接die()结束, 传递的id 即不能大于999, 又需要查询 1...原创 2021-09-08 23:20:38 · 14183 阅读 · 3 评论 -
ctfshow-网络迷踪-密集恐惧( 世界上最大的飞机墓地)
ctf.show 网络迷踪模块-密集恐惧关卡,这一关的图片给了一个很荒凉的地方,里面有很多飞机,看样子是荒废很久了,推荐使用百度识图获取具体的地点,在通过百度搜索得到具体的经纬度将图片下载到本地,像是一个荒凉的农场,里面有很多飞机,很明显是很久没开过的飞机拿去百度搜图寻找线索,点击右侧的相机,上传图片并搜索这几个相似度很高,点进去源链接寻找线索( 第一个访问不了,访问第二个)根据源文章的内容分析,是美国亚利桑那州的飞机墓场去百度搜索这个墓场...原创 2021-09-08 17:20:39 · 12940 阅读 · 1 评论 -
ctfshow-网络迷踪-山外有山
ctf.show 网络迷踪模块-山外有山,题目中给出了一座山,使用百度搜图即可拿到山的名字将图片下载到本地,是一座山头拿去百度搜图看看有什么线索提示图片可能是珠穆朗玛峰大本营提交flagctfshow{珠穆朗玛峰}...原创 2021-09-08 16:58:41 · 10920 阅读 · 0 评论 -
ctfshow-WEB-web14( 利用数据库读写功能读取网站敏感文件)
ctf.show WEB模块第14关是一个SQL注入漏洞, 绕过switch循环后可以拿到一个登录界面, 登录界面存在SQL注入, 脱库以后会提示flag在另一个文件中, 利用数据库的文件读写功能读取文件内容即可拿到flag开局是一个switch循环, 需要传递参数 c, 参数对应的执行结果有四种: '$url', '@A@', $url, "$url" ; 前两个是字符串, 没啥用, 作者的目的应该是想让我们输出后两个 $url 的其中一个, 但输出之前还有个sleep(), 选的不合适..原创 2021-09-07 22:51:17 · 13781 阅读 · 4 评论 -
ctfshow-网络迷踪-初学再练( 一座雕像判断军事基地名称)
ctf.show 网络迷踪第4关,题目中只有一座雕像,需要根据雕像提交军事基地的名称,推荐使用谷歌识图,溯源到一篇博客,答案就在文章标题中给了一座雕像,看样子不像是国内的风格,扔谷歌识图找找线索访问谷歌识图,根据图片搜索https://www.google.com.hk/imghp?hl=zh-CN&ogbl&hl=zh-CN&sourceid=cnhp在搜索的结果中往下滑,可以看到空军基地字样,答案就在这里,点进去提交标题...原创 2021-09-07 16:58:39 · 13063 阅读 · 0 评论 -
ctfshow-网络迷踪-初学又练(离谱!一张竞选海报判断经纬度)
ctf.show 网络迷踪模块第3关,题目中给了一张图片,图片最显眼的地方有一张海报,需要根据信息提交经纬度,图片中的位置应该是外国,这里推荐使用谷歌地图来查经纬度解压后是一张图片从图片中我们可以得到两个重要的信息一张竞选海报,包括竞选人和Dansk Folkeparti(党派) 一个完整的商店名字SandwichNSmoothies首先由翻译的结果可知,Dansk Folkeparti 是丹麦人民党的意思百度百科确认了信息的准确性既然是丹麦...原创 2021-09-07 16:37:11 · 13876 阅读 · 0 评论 -
ctfshow-WEB-web12( 利用代码执行漏洞读取敏感文件)
ctf.show WEB模块第12关是一个代码执行漏洞, flag藏在根目录下的一个文件中, 读取文件内容接口过关进入页面后, 只有一句话 where is the flag? 按照以往的经验, 线索肯定就藏在前端页面的源代码中右键检查或者按F12, 进入开发者模式, 或者直接右键查看网页源代码, 源码的注释中提示了 cmd, 是在暗示我们利用代码执行漏洞传入cmd参数, 验证一下代码执行漏洞?cmd=phpinfo();成功显示出php信息, 说明...原创 2021-09-06 21:14:29 · 13006 阅读 · 3 评论 -
ctfshow-WEB-web11( 利用session绕过登录验证)
ctf.show WEB模块第11关用session中保存的密码进行登录验证, 将 session中保存的密码清空即可绕过页面中直接给了源码, 很明显是让我们进行代码审计,源码中将我们输入的密码与 session中保存的密码进行匹配, 两个password相同即可登录成功右键检查或者按F12, 进入开发者模式, 查看浏览器的session, 后端代码就是拿这个session的value值与我们输入的密码进行匹配, 由于这个value值我没解密出来, 所以这里干脆一点, 直...原创 2021-09-06 20:21:36 · 13977 阅读 · 3 评论 -
ctfshow-网络迷踪-初学乍练( 离谱! 一张图判断飞机的目的地?)
ctf.show 网络迷踪模块第2关, 给了一张飞机尾巴的图片, 需要获取到飞机的目的地, 推荐使用百度搜图, 这一关确认目标比较麻烦, 要有耐心一个一个找首先, 下载图片到本地一个飞机尾巴?先用百度搜图, 看有没有我们需要的信息搜出来很多相似图片, 一个一个的点击去, 看有没有我们需要的信息漫长的寻找后~ 终于找到了点进去, 看图片来自哪里原来是一个博客通过博客内容的语境, 可以推断出, 目标机场是: 苏...原创 2021-09-05 21:29:59 · 12115 阅读 · 5 评论 -
ctfshow-网络迷踪-新手上路 ( 使用百度搜图收集景点信息)
ctf.show 网络迷踪模块第1关, 只有一座桥的图片, 拿到桥的名字即可, 推荐使用百度搜图先把图片下载到本地使用百度搜图收集图片中的景点信息根据搜图的结果可以发现, 图片的来源均指向同一个地方: 三亚蜈支洲岛接下来, 百度搜索 '三亚蜈支洲岛', 找到了一个类似官网的网站, 点进去看看有没有我们需要的信息进入官网后, 往下滑, 滑到中间的 '岛屿风貌' 模块有一个情人桥, 跟我们的图片很像, 点进去看看这不就是我的桥吗, ...原创 2021-09-05 20:44:47 · 13678 阅读 · 0 评论 -
ctfshow-WEB-web10( with rollup注入绕过)
ctf.show WEB模块第10关是一个SQL注入漏洞, 点击取消按钮可以获取源码, 审计代码可以发现源码中存在漏洞, 推荐使用with rollup注入进行绕过, 此关卡过滤了空格,and等关键字1. 过滤空格, 可以使用括号()或者注释/**/绕过2. 过滤and, 可以使用or来代替进来以后是一个登录界面, 盲猜是SQL注入漏洞点击取消按钮可以获取这一关的源码, 下载到本地即可源码中先根据用户名查询用户信息, 用户名通过以后, 再判断密码是否相同, 我...原创 2021-09-05 18:29:22 · 14786 阅读 · 3 评论 -
ctfshow-WEB-web9( MD5加密漏洞绕过)
ctf.show WEB模块第9关是一个SQL注入漏洞, SQL中使用MD5进行加密, 推荐使用MD5加密漏洞绕过进去以后就是一个登录界面, 盲猜是个SQL注入漏洞首先, 我们访问根目录下的 robots.txt 文件robots.txt是一个文本文件,同时也是一个协议,规定了爬虫访问的规则( 哪些文件可以爬取,哪些文件不可以爬取)从robots.txt文件的内容中可以发现, 作者给了提示, index.phps文件应该就是此关卡的源码文件接下来...原创 2021-09-05 17:06:28 · 15349 阅读 · 3 评论 -
ctfshow-WEB-web8
ctf.show WEB模块第8关是一个SQL 注入漏洞, 注入点是数值型, 注入类型推荐使用布尔盲注,此关卡过滤了空格,逗号,and,union等关键字,1. 过滤空格, 可以使用括号() 或者注释/**/ 绕过2. 过滤and, 可以使用or替代3. 过滤union, 可以用盲注替代联合注入4. 过滤逗号, 可以使用特殊语法绕过, 比如:substr(database(),1,1) 可以用substr(database() from 1 for 1)来代替首先确定注入点, 输入...原创 2021-09-05 16:19:31 · 21503 阅读 · 2 评论 -
ctfshow-WEB-web7
ctf.show WEB模块第7关是一个SQL注入漏洞,注入点是数值型注入,源码中过滤了空格,我们可以使用括号()或者注释/**/来代替空格页面中有一个文章列表,随便点一个从url地址栏中可以看到,页面通过文章的id值来查询文章内容,我们可以考虑SQL注入漏洞首先判断注入点,输入以下payload,使SQL恒成立1/**/and/**/1可以看到,页面正常显示在输入以下payload,使SQL恒不成立1/**/and/**/0可以...原创 2021-08-22 11:44:42 · 14880 阅读 · 4 评论 -
ctfshow-WEB-web6
ctf.show WEB模块第6关是一个SQL注入漏洞,注入点是单引号字符型注入,并且过滤了空格,我们可以使用括号()或者注释/**/绕过先来一个万能账号,注意使用括号()替换空格,用户名输入以下payload,密码随便输a'or(true)#成功登录既然是SQL注入漏洞,那么flag肯定就藏在当前使用的数据库中,我们使用联合注入获取当前使用的数据库,用户名输入以下payload,密码随便输a'or(true)union(select(1),datab...原创 2021-08-21 22:21:32 · 13835 阅读 · 1 评论 -
ctfshow-WEB-web5
ctf.show WEB模块第5关需要传递两个参数,一个字符串,一个数字,并且两个参数的md5值必须相同,我们可以利用md5的0e漏洞进行绕过0e绕过是指:0e开头的字符串在参与弱类型比较时,会被当做科学计数法,结果转换为0;我们只要传入两个md5值是以0e开头的参数,即可绕过md5加密,夺取flag页面中展示了部分源码,从源码中我们可以得知,想要夺旗需要通过GET请求传递两个参数v1和v2,并且参数v1必须是纯字母字符串,参数v2必须是数字或者数字字符串,并且两个参数的md5值必须...原创 2021-08-21 21:12:15 · 13235 阅读 · 0 评论 -
ctfshow-WEB-web4
ctf.show WEB模块第4关是一个文件包含漏洞,页面提示了源码中的关键代码,使用include()函数接收url参数,include()函数包含的文件会被执行,从而造成任意代码执行,或者配合伪协议获取敏感文件甚至getshell;然而这一关伪协议不起作用,我们可以通过日志注入进行任意命令执行,从而getshell页面最明显的位置展示了源码的核心,提示我们利用文件包含漏洞包含日志文件,查看日志文件的信息,可以看到日志文件中保存了网站的访问记录,包括HTTP请求行...原创 2021-08-20 22:24:39 · 15187 阅读 · 0 评论 -
ctfshow-WEB-web3
ctf.show WEB模块的第3关是一个文件包含漏洞,include()函数包含的文件会被执行,我们使用PHP伪协议配合抓包工具进行命令执行,从而获取flag这一关的flag就存放在网站跟路径下的文件中php://input可以访问请求的原始数据,配合文件包含漏洞可以将post请求体中的内容当做文件内容执行,enctype=multipart/form-data"时,php:/input将会无效页面中显示了部分源码,明显是引导我们利用文件包含漏洞进行操作,源码中的inc...原创 2021-08-19 21:09:01 · 18944 阅读 · 4 评论 -
ctfshow-WEB-web2
ctf.show WEB模块第2关是一个SQL注入漏洞,请求方式是POST请求,注入点是单引号字符型注入,flag就藏在当前的数据库的flag表中,使用联合注入获取数据即可在用户名的输入框中输入万能账号a' or true #,密码随便输登录成功,万能账号生效了,并且把查询到的用户名显示到了页面中,既然有显示位,那我们就用联合注入进行脱库首先,测试一下回显的位置,在用户名的输入框中输入一下payload,密码还是随便输a' union select 1,2...原创 2021-08-19 15:45:38 · 15834 阅读 · 2 评论 -
ctfshow-WEB-web1签到题
ctf.show WEB模块的第一关,这一关的flag藏在注释中,由于开发人员的粗心,没有及时删除开发过程中的代码注释,从而留下了敏感信息页面中只有一句 where is flag?,我们按F12(或者Fn+F12)进入开发者模式,查看页面的源码Ctrl+c将源码中的注释复制下来,很明显是加密后的内容,需要进行解密,从而获取flag<!-- Y3Rmc2hvd3sxNTA5MDI4My03ZWM3LTQ0ZTQtOWJmNS03YWIwMzllNDU4OTN9...原创 2021-08-19 15:22:55 · 14917 阅读 · 0 评论 -
DVWA-SQL注入(SQL Injection)低/中/高级别
DVWA是一个用来联系渗透的靶场,其中包含数个漏洞模块,本篇博客向大家简单介绍下SQL注入(SQL Injection)模块三个级别(low/medium/high)的通关步骤SQL Injection-low级别SQL注入的low级别需要我们输入用户的ID作为参数,后端的SQL语句根据用户ID查询用户的信息并返回,执行SQL之前并没有过滤,源码如下我们输入一个正确的用户ID : 1 , 发现输入的参数拼接到了url地址栏中,由此推断,此关卡使用的请求方式为GET请求,我们直接在输.原创 2021-08-14 17:34:06 · 14340 阅读 · 0 评论 -
DVWA-CSRF-low级别
dvwacsrclow原创 2021-07-12 16:23:55 · 15798 阅读 · 0 评论 -
XSS-Game level 13
xssgame13,XSS-Game第十三关利用 COOKIE 使用 事件绕过原创 2021-07-08 22:35:11 · 15957 阅读 · 1 评论 -
XSS-Game level 12
xssgame12,XSS-Game第十二关利用 HTTP_USER_AGENT 通过点击事件绕过原创 2021-07-08 22:24:42 · 15867 阅读 · 1 评论 -
XSS-Game level 11
xssgame11,XSS-Game第十一关通过 Referer , 利用事件绕过原创 2021-07-08 22:14:03 · 15890 阅读 · 0 评论 -
XSS-Game level 10
xssgame10,XSS-Game第十关过滤了尖括号 > < , 并且隐藏了输入框 , 使用事件绕过,并使输入框取消隐藏原创 2021-07-08 21:38:39 · 16549 阅读 · 0 评论