
ctf
文章平均质量分 56
甜不拉几
静下心,沉住气
展开
-
access偏移注入
Access偏移注入偏移注入:在注入过程中,可能会遇到注入知道表名,但是不知道列名,从而无法继续猜解,此时需要偏移注入解决。注入流程1、判断注入点127.0.0.1/asp/index.asp?id=1513 and 1=1 正常127.0.0.1/asp/index.asp?id=1513 and 1=2 错误2、查询字段个数127.0.0.1/asp/index.asp?id=1513 order by 22 #正常127.0.0.1/asp/index.asp?id=1513 or原创 2021-12-20 21:16:26 · 533 阅读 · 0 评论 -
【ctf】命令执行漏洞(四)
【ctf】命令执行漏洞(四)无字母getshell“^”异或字符表示你输入的字符按位异或0^1=10^0=0"~"取反字符表示你输入的字符按位取反~(’0‘)=1当url传入参数时,特殊的字符转换成ASCII码,格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值执行的时候要进行一次 URL 编码,否则 Payload 无法执行。自增:如果我们已经构造出一个字母,则可以使用自增来更方便得获取其他字符...原创 2021-10-18 13:08:13 · 1682 阅读 · 0 评论 -
【ctf】命令执行漏洞(三)
命令执行漏洞(四)15位、7位、5位、4位可控字符下的任意命令执行15位可控字符利用原理:直接下载一个空文件,然后直接将shell分段写入文件中,最后修改文件名来getshellwget是Linux中的一个下载文件的工具echo可以直接将字符输出到文件中,但需要使用‘>’符号且第一次输出到文件中时使用‘>’符号,再输入进文件就需要使用‘>>’来进行追加例如:将一句话写入文件<?php eval($_GET[1]);注意:当遇到符号时,记得使用原创 2021-10-15 23:35:43 · 746 阅读 · 0 评论 -
【ctf】命令执行漏洞(二)
命令执行漏洞(二)命令执行无回显的判定方法1.延时2.http请求3.dns请求可使用ping请求,但是nc无法监听ping请求。linux下的ping不会停止,windows下面的ping会停止ping -c 3 xxx.xxx.xxx-c 3:ping3次利用1.写shell2.http/dns等方式带出数据'>'符号:将前面的命令生成的内容写到一个文件中因为ping ip 是不能出现空格的,所以我们可以构造来消除空格...原创 2021-10-15 23:30:30 · 432 阅读 · 0 评论 -
【ctf】命令执行漏洞(一)
命令执行漏洞原理命令执行漏洞,就是指用户通过浏览器或其他辅助程序提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,用户可以提交恶意语句并交由服务器执行。在操作系统中,“&、|、||”都可以作为命令连接符使用,用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令。相关函数...原创 2021-10-12 13:30:54 · 2554 阅读 · 0 评论 -
【ctf】文件包含漏洞(二)
文件上传漏洞伪协议zip://图中是一题存在文件包含的题目这里的url/?index.php?url=upload应该是与upload.php等价所以我们可以知道,文件包含默认将末尾的文件添加了.php的后缀绕过方法:首先写一个一句话木马shell.php接着压缩成zip文件。直接上传zip文件,然后使用shell工具进行连接。http://地址/index.php?url=zip://上传文件路径#(%23)shellhttp://localhost/?url=zip:///va原创 2021-10-07 23:00:49 · 1717 阅读 · 0 评论 -
【ctf】文件上传漏洞——客户端校验
文件上传漏洞文件上传漏洞是指由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致的用户可以越过其本身权限向服务器上上传可执行的动态脚本文件。这里上传的文件可以是木马,病毒,恶意脚本或者WebShell等。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。webshell是什么?WebShell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称之为一原创 2021-10-04 21:27:52 · 819 阅读 · 0 评论 -
【ctf】文件上传漏洞——服务端校验(二)
文件上传漏洞——服务端校验白名单校验白名单的概念与“黑名单”相对应。白名单是设置能通过的用户,白名单以外的用户都不能通过。黑名单是设置不能通过的用户,黑名单以外的用户都能通过。所以一般情况下白名单比黑名单限制的用户要更多一些。所以,一般白名单是比较难以绕过的,但是配合其他漏洞就可以做到绕过白名单。例如:配合apache的解析缺陷原理:apache对文件的解析是从最后一个后缀开始解析,按最后一个合法后缀名来对文件进行解析。这里我们可以打开我们的apache配置文件查看能解析的文件后缀(原创 2021-10-06 21:10:12 · 855 阅读 · 0 评论 -
【ctf】sql注入——insert、update和delete注入
insert、update和delete注入insert:插入语法insert into 表名 (参数1,参数2,参数3) values (x,y,z);注入语句:insert into user (id, username,password) values ('4','w64654ll'or updatexml(1,concat(0x7e,database()),0),'233');update:更新语法update 表名 set 列名1= x where 列名2 =y列名1:原创 2021-10-03 22:47:30 · 895 阅读 · 0 评论 -
【ctf】sql注入——报错注入
报错注入报错注入主要利用执行的报错返回的信息来进行注入从而获得需要的信息。报错注入有许多的函数可以使用例如:floor(rand()*2);updatexml函数:or updatexml(1,concat(0x7e,(version())),0);updatexml第二个参数需要的是Xpath格式的字符串。输入不符合,因此报错。*updatexml的最大长度是32位。and extractvalue(1,concat(0x7e,(select database())))and exp(原创 2021-09-14 22:16:42 · 1124 阅读 · 0 评论 -
【ctf】sql注入——宽字节注入
宽字节注入宽字节注入:主要针对GBK编码的注入基础:了解url转码例如:空格 : %20’ : %27# :%23 \ : %5Caddslashes() 函数了解addslashes()函数,发现它会返回在预定义的字符之前添加反斜杠的字符串。当我们进行注入时使用单引号或双引号进行语句的闭合时,该函数会自动在字符前添加反斜杠将字符转义,导致该字符无法实现作用而导致注入失败。如何绕过addslashes()函数从而达到注入的效果呢?方法一原创 2021-09-13 16:07:28 · 837 阅读 · 1 评论 -
【ctf】sql注入——desc注入
desc注入desc函数是用来提供一个表的列信息desc 表名 列名describe 表名 列名这里提到一个点,当我们在mysql中想要使用已经被定义的字段作为数据库或表名时该怎么办?直接使用会报错,这里就要用到一个符号反引号:``当我们将表名和列名使用引号时,发现会报错,这里只能使用反引号;而且我们发现,如果我们查询一个不存在的列名时,该语句仍然会执行,只是会返回empty,那么这也是一个绕过或者注入的思路;...原创 2021-10-04 09:59:12 · 833 阅读 · 0 评论 -
【ctf】sql注入——order by的注入
order by的注入这里我们先介绍一下逻辑运算符逻辑运算符是按位进行运算的首先将十进制转化为二进制,再进行按位运算;ORDER BY(1,2,3…) 语句ORDER BY 语句用于对结果集进行排序。ORDER BY 语句用于根据指定的列对结果集进行排序。ORDER BY 语句默认按照升序对记录进行排序。在不知道列名的情况可以用序号来指代相应的列。asc:正序输出;desc:逆序输出;select * from user order by id desc但有一点,order by原创 2021-10-03 22:11:27 · 516 阅读 · 0 评论 -
【ctf】sql注入——基于约束的SQL攻击
基于约束的SQL攻击主要存在于在INSERT中,SQL会根据varchar(n)来限制字符串的最大长度。如果字符串的长度大于“n”个字符的话,那么仅使用字符串的前“n”个字符。注册:1.username:admin; password:1234562.username:admin 1; password:123456这里我们可以想到,如果只是使用前面五个字符,字符串末尾字符将会被删除,那么我们是不是可以通过该方法来注册并登录管理元账号?进行测试:原创 2021-09-13 21:01:30 · 412 阅读 · 0 评论 -
【ctf】sql注入——基于时间的盲注
基于时间的盲注原理:利用sleep()或benchmark()等函数让mysql执行时间变长,并结合判断条件if(expr1,expr2,expr3),然后通过页面的响应时间长短来判断语句返回的值是TRUE还是False,从而猜解一些未知的字段。函数sleep(duration):睡眠(暂停)时间为duration参数给定的秒数,然后返回0。若sleep()被中断,它会返回1。select * from table where id=1 and sleep(3);select * from tab原创 2021-09-18 09:40:59 · 1002 阅读 · 0 评论 -
【ctf】sql注入——布尔型的盲注
关于布尔型的盲注原创 2021-09-26 12:54:37 · 402 阅读 · 0 评论 -
【ctf】文件上传漏洞——服务端校验(一)
文件上传漏洞——服务端校验当我们上传php文件或其他的木马文件时,不止会出现前端的js检测,还会有服务端的校验content-type字段校验MIME(Multipurpose Internet Mail Extensions)多用途网络邮件扩展类型,可被称为Media type或Content type,它设定某种类型的文件当被浏览器打开的时候需要用什么样的应用程序,多用于HTTP通信和设定文档类型例如HTML。常用类型上传场景:而在进行文件上传时,后端往往会对content-type进行过原创 2021-10-05 13:30:10 · 934 阅读 · 0 评论 -
【ctf】文件包含漏洞(一)
文件包含开发人员将相同的函数写入单独的文件中,需要使用某个函数时直接调用此文件,无需再次编写,这种文件调用的过程称文件包含文件包含漏洞开发人员为了使代码更灵活,会将被包含的文件设置为变量,用来进行动态调用,从而导致客户端可以恶意调用一个恶意文件,造成文件包含漏洞相关函数:include()include_once()require()require_once()(未完持续…)...原创 2021-10-06 21:50:32 · 2425 阅读 · 0 评论