【WEB渗透】
文章平均质量分 77
本专栏主要从零到一对WEB渗透测试进行详介绍,主要涉及渗透测试基础知识、漏洞原理刨析、渗透测试漏洞挖掘、业务逻辑漏洞挖掘、业务逻辑漏洞示例、安全工具等方方面面的内容,同时保持长时间的更新维护,预计将在500篇实现系列完结
订阅声明:严禁使用专栏技术进行非法攻击,违者相关法律自行承担,博主概不负责
优惠券已抵扣
余额抵扣
还需支付
¥29.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
FLy_鹏程万里
国内网络安全研究员,专注于Web渗透、移动安全、代码审计、应急响应、内网渗透、区块链安全、云安全等研究方向,擅长渗透测试、红蓝对抗、内网渗透、云安全、区块链安全。
展开
-
【漏洞挖掘】——130、 MySql约束攻击刨析
或者一开始就养成良好的数据库设计风格,不用user来作为外键,而用id作为外键,这样我们的数据库才能更安全。该漏洞是由于MySQL对于字符串验证不严格而导致的。注册一个用户——"admin "原创 2024-07-03 17:06:41 · 87 阅读 · 0 评论 -
【漏洞挖掘】——129、 图片参数注入刨析
这种类型的注入只是在一个CTF中见到过,注入点位于图片的URL参数上。原创 2024-07-03 17:01:38 · 68 阅读 · 0 评论 -
【漏洞挖掘】——128、 异或运算注入刨析
异或是一种逻辑运算,运算法则简言之就是:两个条件相同(同真或同假)即为假(0),两个条件不同即为真(1),null与任何条件做异或运算都为null,如果从数学的角度理解就是空集与任何集合的交集都为空,mysql里异或运算符为^或者xor,两个同为真或同为假的条件做异或,结果为假:两个不同为真或不同为假的条件做异或,结果为真:null与任何条件(真、假、null)做异或,结果都为null:^运算符——做位异或运算,例如:1^2=3xor做逻辑运算1 xor 0会输出1,其他情况会输出所有。原创 2024-07-03 16:49:37 · 335 阅读 · 0 评论 -
【漏洞挖掘】——127、 Limit型注入刨析
此方法适用于MySQL 5.x中,在limit语句后面的注入,常见的后台SQL语句如下所示:上面语句包含了ORDER BY,MySQL中UNION语句不能在ORDER BY的后面,不然这里利用UNION就可以很容易的读取数据了,下面看看在MySQL 5中的SELECT语法:从上面可以看到在LIMIT后面可以跟一个函数——PROCEDURE,那么使用PROCEDURE函数能否注入呢?原创 2024-07-03 16:39:26 · 164 阅读 · 0 评论 -
【漏洞挖掘】——126、Delete型注入刨析
Delete型注入即注入点在Delete的SQL语句中,例如:以下语句用于向指定的数据表删除数据信息,如果此处的id值来自用户且未经过滤处理,则存在SQL注入攻击风险。原创 2024-06-28 17:28:31 · 89 阅读 · 0 评论 -
【漏洞挖掘】——125、Insert型注入刨析
insert型注入漏洞即注入点存在于insert语句中,例如:以下语句用于向指定的数据表插入数据信息,如果此处的value值来自用户且未经过滤处理,则存在SQL注入攻击风险。原创 2024-06-28 17:17:17 · 39 阅读 · 0 评论 -
【漏洞挖掘】——124、Update型注入刨析
Update型注入即可控的注入点出现在update语句中,例如:下面的语句用于向更新数据表中的信息,如果此处的value值来自用户且未经过滤处理,则存在SQL注入攻击风险。原创 2024-06-28 16:04:49 · 105 阅读 · 0 评论 -
【漏洞挖掘】——123、Order by堆叠注入
当order by后台执行sql语句为mysqli_multi_query()函数时,我们可以考虑使用堆叠注入,该函数与mysqli_query()的区别在于mysqli_multi_query()可以执行多个sql语句,而mysqli_query()只能执行一个sql语句,下面以Less-50为例做演示:请求执行前后表的变化:之后查看请求前后的区别:可以使用DNSlog来做尝试:笔者这里没有成功,很是可惜~‘本篇文章我们主要借助SQLi-Lab靶场对Order by注入进行了简易的原创 2024-06-28 15:52:41 · 34 阅读 · 0 评论 -
【漏洞挖掘】——122、Order By注入介绍
Order by注入是指存在注入的可控制参数位置位于order by子句后,例如:注入思考这里以Less-46为例对order by注入做研究分析直接访问Less-46后提示需要传递数字型的sort参数:随后构造/?sort=1进行访问,给出一张排序的表格在这里我们首先需要猜测一下数据库后台的SQL语句格式,将1改换为2之后再次请求发现数据没变,数据的排序发生了变化:由此说明此处应该是根据sort的值来进行排序的,而在SQL语句中只有order by x才会根据x进行排序,说明此处的输原创 2024-06-28 15:47:28 · 26 阅读 · 0 评论 -
【漏洞挖掘】——121、Xpath注入深入刨析
XPath即为XML路径语言,是W3C XSLT标准的主要元素,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言。原创 2024-06-28 15:14:02 · 114 阅读 · 0 评论 -
【漏洞挖掘】——120、二次注入深入刨析
这里所谓的二次注入其实就是将可能导致SQL注入的字符先存入到数据库中,而当我们再次调用这个恶意构造的字符时就可以触发SQL注入,这一种注入在平时比较常见,但是确实是存在的一种注入,故此在这里将其单独拎出来说一下。原创 2024-06-28 14:54:39 · 358 阅读 · 0 评论 -
【漏洞挖掘】——119、HTTP头部注入介绍
User-Agent:使得服务器能够识别客户使用的操作系统,游览器版本(很多数据量大的网站中会记录客户使用的操作系统或浏览器版本等存入数据中)Cookie:网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP(通常一些网站的防注入功能会记录请求端真实IP地址并写入数据库or某文件[通过修改XXF头可以实现伪造IP])Clien-IP:同上。原创 2024-06-27 15:40:15 · 129 阅读 · 0 评论 -
【漏洞挖掘】——118、堆叠注入类型介绍
堆叠注入(Stacked injections)从名词的含义就可以看到应该是一堆sql语句(多条)一起执行,而在真实的运用中也是这样的,我们知道在mysql中主要是命令行中每一条语句结尾加;表示语句结束,这样我们就想到了是不是可以多句一起使用呢?这个就叫做stacked injection。原创 2024-06-27 15:25:02 · 156 阅读 · 0 评论 -
【漏洞挖掘】——117、宽字节注入深入刨析
窄字节:字符的大小为一个字节时,称其字符为窄字节宽字节:字符的大小为两个字节时,称其字符为宽字节宽字节编码:GB2312,GBK,GB18030,BIG5,Shift_JIS等等宽字节注入主要是源于程序员设置数据库编码与PHP编码设置为不同的两个编码格式从而导致产生宽字节注入,例如:在使用PHP连接MySQL的时候,很多人都会增加一句。原创 2024-06-26 09:24:56 · 102 阅读 · 0 评论 -
【漏洞挖掘】——116、GeometryCollection报错注入
本篇文章我们主要对报错注入的原理进行了介绍,同时对报错注入的几种常见方式、函数,手工注入语句进行了演示介绍~其余的依次变量limit x,y中的x的值来获取表名信息即可~其余的依次变量limit x,y中的x的值来获取表名信息即可~原创 2024-06-25 14:34:06 · 39 阅读 · 0 评论 -
【漏洞挖掘】——115、multilinestring报错注入
其余的依次变量limit x,y中的x的值来获取表名信息即可~其余的依次变量limit x,y中的x的值来获取表名信息即可~这里以Less-05为例做演示~原创 2024-06-21 17:38:41 · 43 阅读 · 0 评论 -
【漏洞挖掘】——114、multipolygon报错注入刨析
其余的依次变量limit x,y中的x的值来获取表名信息即可~其余的依次变量limit x,y中的x的值来获取表名信息即可~这里以Less-05为例做演示~原创 2024-06-21 17:23:30 · 43 阅读 · 0 评论 -
【漏洞挖掘】——113、multipoint报错注入深入刨析
其余的依次变量limit x,y中的x的值来获取表名信息即可~其余的依次变量limit x,y中的x的值来获取表名信息即可~这里以Less-05为例做演示~原创 2024-06-21 17:12:46 · 39 阅读 · 0 评论 -
【漏洞挖掘】——112、linestring报错注入深入刨析
其余的依次变量limit x,y中的x的值来获取表名信息即可~其余的依次变量limit x,y中的x的值来获取表名信息即可~原创 2024-06-21 17:09:03 · 34 阅读 · 0 评论 -
【漏洞挖掘】——111、polygon报错注入深入刨析
其余的依次变量limit x,y中的x的值来获取表名信息即可~其余的依次变量limit x,y中的x的值来获取表名信息即可~这里以Less-05为例做演示。原创 2024-06-21 16:56:22 · 39 阅读 · 0 评论 -
【漏洞挖掘】——110、Bigint报错注入深入刨析
数据类型BIGINT的长度为8字节,也就是说长度为64比特,这种数据类型最大的有符号值,用二进制、十六进制和十进制的表示形式分别为"0b0111111111111111111111111111111111111111111111111111111111111111"、"0x7fffffffffffffff"和"9223372036854775807",当对这个值进行某些数值运算的时候,比如加法运算,就会引起"BIGINT value is out of range"错误,例如:\。原创 2024-06-21 16:39:03 · 121 阅读 · 0 评论 -
【漏洞挖掘】——109、EXP报错注入深入刨析
函数用法:exp(x)函数功能:返回e的x次方。原创 2024-06-21 16:22:09 · 52 阅读 · 0 评论 -
【漏洞挖掘】——108、updatexml报错注入刨析
函数语法:第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc第二个参数:XPath_string (Xpath格式的字符串)。第三个参数:new_value,String格式,替换查找到的符合条件的数据。原创 2024-06-21 16:10:01 · 24 阅读 · 0 评论 -
【漏洞挖掘】——107、Extractvalue报错注入刨析
在测试过程中,此处的table_name需要换成查询得到的表名的十六进制数据,之后通过调整limit start,length的start值来获取要查询表的所有字段名信息。id=1' and 语句”等其他类型的语句。在测试过程中此处的table_name需要换成查询得到的表名的十六进制数据,之后通过调整limit start,length的start值来获取要查询表的所有字段名信息。在实际使用过程中需要更换limit start,length中的start的值,依次来获取当前数据库中的所有表名信息。原创 2024-06-21 16:03:28 · 38 阅读 · 0 评论 -
【漏洞挖掘】——106、Floor报错注入刨析
报错注入是一种根据报错信息来构造注入语句并从错误信息中获取数据库信息的一种注入方法,常见的报错注入主要包括以下几种:rand() :可以产生一个在0和1之间的随机数,例如:rand(x):以x为随机数发生器种子值来生成固定随机数,例如:rand()*x:生成0~x之间的伪随机数,例如:FLOOR(x) 函数返回小于 x 的最大整数值,例如:类似的函数还有:通过上面的了解可以发现rand()函数可以生成一个指定范围内的伪随机数(小数),而floor可以取整,那么如果要生成一个整数呢?可以结合将Floor()与原创 2024-06-21 15:57:48 · 29 阅读 · 0 评论 -
【漏洞挖掘】——105、POST注入深入剖析
POST是一种数据提交方式,它主要是指数据从客户端提交到服务器端,例如:我们常常使用的用户登录模块、网站的留言板模块等,在这些功能模块中我们提交的数据都是以POST的方式提交的服务器后再由服务器端进行验证,如果以POST提交的参数存在注入点,那么将这种注入称之为"POST"注入。原创 2024-06-21 15:38:06 · 34 阅读 · 0 评论 -
【漏洞挖掘】——104、Blind注入类型深入刨析(下)
id=1' and if(left((select table_name from information_schema.tables where table_schema=database() limit 0,1),1)='e',1,(select benchmark(10000000,md5(0x41)))) --+ #没有延时。原创 2024-06-21 15:15:41 · 23 阅读 · 0 评论 -
【漏洞挖掘】——103、Blind注入类型深入刨析(中)
sleep():用于延迟IF(Condition,A,B):当Condition为TRUE时,返回A;当Condition为FALSE时,返回BBENCHMARK(count,expr):重复count次执行表达式expr,它可以用于计时MySQL处理表达式有多快,结果值总是0。原创 2024-06-21 14:54:12 · 365 阅读 · 0 评论 -
【漏洞挖掘】——102、Blind注入类型深入刨析(上)
基于布尔的盲注基于时间的盲注。原创 2024-06-21 14:03:40 · 158 阅读 · 0 评论 -
【漏洞挖掘】——101、搜索型注入深入刨析
网站为了用户便于搜索网站中的资源往往会加入搜索功能,如果底层的代码忽略了对搜索变量的过滤,则有可能会造成了搜索型注入漏洞(又称文本框注入),对于常见的搜索框而言,后台常用的SQL语句如下所示,在这里参数如果未经过滤直接拼接到SQL语句中则存在注入,注入方法类似于字符型注入,不过在这里我们需要闭合的符合就变成了"%",其余的基本上一致。原创 2024-06-21 13:45:46 · 151 阅读 · 0 评论 -
【漏洞挖掘】——100、字符型注入深入刨析(下)
本篇文章我们主要介绍了字符型注入的原理以及几类关于字符型注入漏洞的变形和手工注入语句的构造,其中比较有意思的点在于一次性批量查询数据,即group_concat的使用方法的介绍与使用实例的演示~发现正确执行SQL语句,完成闭合操作,之后我们就来插入我们的SQL语句看是否可以被执行,以此来确定是否存在注入。从以上结果发现我们构造的语句被成功执行,此处存在SQL注入~正常访问Less-03————提示传递数据类型的参数I。id=1,正常回显查询的结果。这意味着它在后台的执行语句应该为。原创 2024-06-20 15:54:23 · 43 阅读 · 0 评论 -
【漏洞挖掘】——99、字符型注入深入刨析(上)
在数据库安全中字符型注入(String-based Injection)是一种常见的安全漏洞攻击类型,针对的是处理字符型数据时的输入验证不足或不正确处理,攻击者利用这个漏洞通过恶意注入特殊字符或字符串来绕过应用程序的输入验证,执行未经授权的数据库查询或获取敏感数据,由于可控参数为字符型,所以我们也常常将此类型的注入漏洞被称之为"字符型"注入。原创 2024-06-20 15:39:19 · 38 阅读 · 0 评论 -
【漏洞挖掘】——98、数字型注入深入刨析(下)
本篇文章我们主要介绍了数字型注入漏洞的检测方式、手工注入方式、注入漏洞的深入利用(写入webshell、读取文件等操作),同时也介绍了SQLMap在SQL注入漏洞中的利用方式~这里根据注入的对象选择即可,这里是Mysql+PHP+Apache搭建的测试环境,所以选择PHP——>4。如果发现设置路径之后无法返回shell,那么说明没有写权限~如果要进行后渗透测试也可以反弹shell到msf或者CS中。原创 2024-06-20 13:46:54 · 29 阅读 · 0 评论 -
【漏洞挖掘】——97、数字型注入深入刨析(中)
高版本的MYSQL添加了一个新的特性secure_file_priv,该选项限制了mysql导出文件的权限。读取/etc/passwd文件内容。原创 2024-06-20 13:38:40 · 145 阅读 · 0 评论 -
【漏洞挖掘】——96、数字型注入深入刨析(上)
在MySQL中数字型注入(Numeric Injection)是一种针对数据库查询的安全漏洞攻击,利用了对数字类型的输入验证不足或不正确处理的情况,攻击者利用这个漏洞注入恶意的数字值以绕过应用程序的输入验证并执行未经授权的查询操作或获取敏感数据,而我们所谓的数字型注入其实是指可控参数为整型整型(例如:年龄、id序列号、页码等)且存在注入漏洞,由于参数是整型,所有该类型的注入漏洞被称之为"数字型"注入。原创 2024-06-20 13:35:00 · 106 阅读 · 0 评论 -
【漏洞挖掘】——95、MySQL注入基础
在正式进入MySQL注入的专题之前我们需要对MySQL注入中一些基础知识以及常用的一些函数、技巧等进行简单的介绍与整理归纳,以便于我们后期进行知识检索。原创 2024-06-20 13:27:55 · 22 阅读 · 0 评论 -
【漏洞挖掘】——94、Docker未授权访问
Docker是一种开源的容器化平台,用于构建、打包和运行应用程序及其依赖项,它通过使用容器来实现应用程序的轻量级隔离,使得应用程序可以在不同的环境中以一致的方式运行,Docker广泛应用于软件开发、持续集成/持续交付(CI/CD)、微服务架构、大规模部署和云计算等领域,它简化了应用程序的构建、交付。Docker Remote API是一个取代远程命令行界面(RCLI)的REST API,当该接口直接暴漏在外网环境中且未作权限检查时,攻击者可以通过恶意调用相关的API实现远程命令执行。原创 2024-06-17 15:50:25 · 42 阅读 · 0 评论 -
【漏洞挖掘】——93、Jenkis未授权访问
默认情况下 Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进入后台管理服务,通过脚本执行界面从而获取服务器权限。原创 2024-06-17 15:42:05 · 29 阅读 · 0 评论 -
【漏洞挖掘】——92、Rsync未授权访问
Rsync(Remote Sync)是一个用于文件和目录同步的开源工具,广泛用于Linux和Unix系统中,它通过比较源文件和目标文件的差异只传输变化的部分,实现高效的增量备份和文件同步,Rsync默认允许匿名访问,如果在配置文件中没有相关的用户认证以及文件授权就会触发隐患,Rsync的默认端口为837。原创 2024-06-14 13:17:51 · 46 阅读 · 0 评论 -
【漏洞挖掘】——91、Redis未授权访问
Redis 默认情况下,会绑定在 0.0.0.0:6379,如果没有进行采用相关的策略,比如添加防火墙规则避免其他非信任来源 ip 访问等,这样将会将 Redis 服务暴露到公网上,如果在没有设置密码认证(一般为空)的情况下,会导致任意用户在可以访问目标服务器的情况下未授权访问 Redis 以及读取 Redis 的数据。原创 2024-06-14 13:13:34 · 32 阅读 · 0 评论