CTF-SHOW 刷题记录Web1
CTF SHOW Web 1~17 总的来说,信息搜集首先需要经历扫盘,F12,抓包三大件 注意结合题目 Web1F12 Web2本质是js前台拦截,无法呼出右键菜单,也无法使用f12 url前加入view-source:查看源代码 ctrl+u查看源码 打开一个空白网页,按F12,再把网址复制进去并回车 bp抓包,放到repeater中 Web3 使用bp抓个包看看 f12—网络——刷新——查看消息头 Web4扫目录得到敏感文件robots.txt 1dirsearch -u https://bc86a6ed-f331-45f2-a6d2-6079ed4ba162.challenge.ctf.show -e* -i 200,201,201-300 -t...
文件上传漏洞
文件上传漏洞定义文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的额能力。这种攻击方式是最为直接和有效的。“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理,解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。 危害 上传文件时Web语言脚本,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行 上传文件是病毒或者木马时,主要用于诱骗用户或者管理员下载执行或者直接自动运行 .上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似); 上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。 上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。 除此之外,还有一些不常见的利用方法,比如将上传文件作为一个入口,溢出服务器的后台处理程序,如图片解析模块;或者上传一个合法的文本文件,其内容包含了PHP脚本,再通过”本地文件包含漏洞(Local File...
CTF-SHOW刷题总结Web3
GET传参 eval执行使用通配符绕过前提是题目过滤的字符不多。直接使用system函数(或其他)执行命令,文件名使用通配符模糊搜索即可 若过滤了system, 还可用反字节符配合echo。如echo `cat fla*`; 使用eval嵌套题目过滤了主要函数(cat, system),并且过滤了字符 . 这里需要使用到的字符有_ 、[] 和 $ 使用文件包含漏洞题目过滤了主要函数,并且过滤了符号 . ' ` ; ( ” : < = / 和所有的数字 首先将需要传入的参数c设置为include语句,再在include的文件中使用php协议读取内容。 1c=include$_GET[a]?>&a=php://filter/convert.base64-encode/resource=flag.php 这里使用了?>绕过 ; 也可以用data伪协议和日志注入 使用RCE绕过见下 GET传参...
通配符和正则表达式
通配符与正则表达式通配符通配符是一种特殊语句,用来模糊搜索文件。 其中某一个字符称为元字符 *可以替代0个或多个字符 星号表示匹配的数量不受限制 ?可以使用问号替代0个或一个字符 问号表示匹配字符数受到限制 元字符 作用 * 前一个字符匹配0次或任意多次 . 匹配除了换行符以外任意一个字符 ^ 匹配行首。例如:^helloworld会匹配以helloworld开头的行 $ 匹配行尾。例如:helloworld$会匹配以helloworld结尾的行 [] 匹配中括号里的任意指定的一个字符,但只匹配一个字符 [^] 匹配除中括号以外的任意一个字符 \ 转义符,取消特殊含义 {n} 表示其前面的字符恰好出现n次 {n,} 表示其前面的字符出现不小于n次 {n,m} 表示其前面的字符至少出现n次,最多出现m次 正则表达式正则表达式又称为规则表达式,用来检索、替换哪些符合某个模式(规则)的文本
CTF-SHOW刷题记录Web4
CTF SHOW web 78-117 Web78题目123456if(isset($_GET['file'])){ $file = $_GET['file']; include($file);}else{ highlight_file(__FILE__);} 12?file=php://filter/read=convert.base64-encode/resource=flag.php#不推荐,不知道flag在哪里的时候不好用 123?file=data://text/plain,<?php system('ls');?>?file=data://text/plain,<?php system('ls');?>#推荐,可以使用ls命令查看flag位置 123?file=../../../../var/log/nginx/access.log<?php eval($_POST[a]);...
文件包含漏洞
文件包含漏洞文件包含漏洞(FIle Inclusion Vulnerability)是指应用程序中存在的一种安全漏洞,攻击者通过利用漏洞可以在应用程序中执行任意代码。文件包含漏洞通常出现在动态网页中,攻击者通过在URL中注入恶意代码,使应用程序将恶意代码作为正常代码执行。 通俗来讲,就是说开发人员开发程序的时候,每次都需要使用多个文件中的代码,很不方便。为了更方便一点,开发人员将被包含的文件设置成为一个变量,然后这样的话可以非常方便的调用这些文件。但是开发人员并没有限制用户是否也可以调用这些文件,这导致了攻击者会利用这个特征进行一些而已操作。注意这些文件包含本身没有漏洞,而是开发人员的疏忽而导致的漏洞。 利用条件 include()等函数通过动态变量的方式引入包含文件 当使用include语句时,被包含的文件中的PHP代码会被执行,而其中的HTML或文本内容会直接输出到页面中 如:eval(“include...
无标题
堆叠注入平常我们注入时都是通常对原来sql语句传输数据的地方进行相关修改,注入情况会应为该语句本身的情况而受到相关限制,例如进行select语句的时候,无法进行增、删、改。但堆叠注入则完全打破了这种限制,其名字顾名思义,就是可以堆一堆sql注入进行注入,这个时候我们就不受前面语句的限制可以为所欲为了。原理就是将原来的语句构造完后加上分号。 例题[SUCTF 2019]EasySQL当输入123的时候弹出以下内容。并同时发现这里是POST传参。 尝试进行字符和数字的验证,发现当输入万能密码的时候情况如下。这里应该是对and等等关键词进行了过滤。 常规思路不太行,而且回文只有这几种。于是考虑堆叠注入。 得到库名 1query=0;show databases; 发现过滤的东西太多了。这道题目前对我来说有点偏,只放个链接在这 https://blog.csdn.net/RABCDXB/article/details/111398725 1;set sql_mode=PIPES_AS_CONCAT;select 1
无标题
Sqlmap常用参数1234567891011121314151617181920212223242526272829--version #显示程序的版本号并退出-h, --help #显示此帮助消息并退出-u #设置目标URL-p #指定测试参数-D #指定要进行枚举的数据库名-U #指定要进行枚举的数据库表-T #枚举列的信息-C #指定要进行枚举的数据库列-U #指定要进行枚举的数据车用户--current-user ...
无标题
CTF中常用PHP特性总结 https://www.cnblogs.com/gxngxngxn/p/17410173.html preg_match1234567891011121314int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) 参数说明: $pattern: 要搜索的模式,字符串形式。 $subject: 输入字符串。 $matches: 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。 $flags:flags 可以被设置为以下标记值: #PREG_OFFSET_CAPTURE: 如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。...