Web漏洞
文章平均质量分 91
百事都可樂.
关关难过关关过 前路漫漫亦灿灿~
展开
-
【业务安全-03】业务逻辑漏洞之暴力破解(Burte Force)
暴力破解是一种针对于密码或身份认证的破译方法,即穷举尝试各种可能,找到突破身份认证的一种攻击方法。暴力破解是一把双刃剑,一方面能够被恶意者使用,另一方面在计算机安全性方面却非常重要,它用于检查系统、网络或应用程序中使用的弱密码。“暴力破解”是一攻击具手段,在web攻击中,一般会使用这种手段对应用系统的认证信息进行获取。其过程就是使用大量的认证信息在认证接口进行尝试登录,直到得到正确的结果。为了提高效率,暴力破解一般会使用带有字典的工具来进行自动化操作。原创 2023-03-22 17:20:14 · 1495 阅读 · 0 评论 -
【业务安全-02】业务逻辑漏洞之越权操作
一般越权漏洞容易出现在权限页面(需要登录的页面)增、删、改、查的的地方,当用户对权限页面内的信息进行这些操作时,后台需要对 对当前用户的权限进行校验,看其是否具备操作的权限,从而给出响应,而如果校验的规则过于简单则容易出现越权漏洞。当将其值进行修改,就可以查看到别的用户的信息。如果使用用户A的权限去操作用户A的数据,用户A的权限小于用户B的权限,如果能够成功操作,则称之为越权操作。用户A和用户B属于同一级别的用户,但双方不能操作对方的个人信息,如果用户A越权操作用户B的个人信息,我们称之为水平越权操作。原创 2023-03-20 21:48:43 · 1883 阅读 · 1 评论 -
【业务安全-01】业务安全概述及其测试流程
近年来,随着信息化技术的迅速发展和全球一体化进程的不断加快,计算机和网络已经成为与所有人都息息相关的工具和媒介,个人的工作、生活和娱乐,企业的管理乃至国家的发展和改革都无处其外。信息和互联网带来的不仅仅是便利和高效,大量隐私、敏感和高价值的信息数据和资产,成为恶意攻击者攻击和威胁的主要目标,从早期以极客为核心的黑客黄金时代,到现在利益链驱动的庞大黑色产业,网络安全已经成为任何个人、企业、组织和国家所必须面临的重要问题。原创 2023-03-20 16:04:50 · 1740 阅读 · 0 评论 -
【OS命令注入】OS命令注入实验详解
漏洞原理程序员使用脚本语言(比如PHP)开发应用程序过程中,脚本语言开发十分快速、简介、方便,但是也伴随着一些问题,比如说速度慢,或者无法解除系统底层,如果我们开发的应用,特别是企业级的一些应用需要去调用一些外部程序。当应用需要调用一些外部程序时,就会用到一些系统命令的函数。如PHP中的system,exec,shell_exec等,当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击也就是说命令执行即直接调用操作系统的命令。原创 2023-03-08 23:41:35 · 1881 阅读 · 0 评论 -
【PHP代码注入】PHP代码注入漏洞
call_user_func()等函数都有调用其他函数的功能,其中的一个参数作为要调用的函数名,那如果这个传入的函数名可控,那就可以调用意外的函数来执行我们想要的代码,也就是存在任意代码执行漏洞。以call_user_func($fun,$para)函数为例,该函数的第一个参数作为回调函数,后面的参数为回调函数的参数,将$para这个参数传递给$fun这个函数去执行。我们可以利用file_get_contents()函数,写入文件,该函数的作用在于将第二个参数作为内容写入到第一个参数的文件中。原创 2023-03-06 23:50:17 · 6305 阅读 · 2 评论 -
【反序列化漏洞-02】PHP反序列化漏洞实验详解
序列化:程序将对象状态转换为可存储或传输的字节序列的过程(即对象状态转换为可存储或者可传输的过程){序列化是对象转换为字符串的过程}反序列化:程序把存储或传输的字节序列恢复为对象的过程。{反序列化则是字符串转化为对象的过程}如果字符串客户端可控,就会造成web应用反序列化任意对象,严重的是在反序列化的过程中会触发一些可以执行的php代码,例如phpinfoPHP中的序列化与反序列化,基本都是围绕和两个函数展开的。在介绍这两个函数之前,我们可以先看一个简单的例子。原创 2023-03-02 22:17:54 · 2915 阅读 · 4 评论 -
【反序列化漏洞-01】序列化与反序列化概述
序列化:程序将对象状态转换为可存储或传输的字节序列的过程(即对象状态转换为可存储或者可传输的过程){序列化是对象转换为字符串的过程}反序列化:程序把存储或传输的字节序列恢复为对象的过程。{反序列化则是字符串转化为对象的过程}如果字符串客户端可控,就会造成web应用反序列化任意对象,在反序列化的过程中会触发一些可以执行的php代码,例如phpinfoPHP中的序列化与反序列化,基本都是围绕和两个函数展开的。在介绍这两个函数之前,我们可以先看一个简单的例子。原创 2023-02-27 00:13:15 · 2216 阅读 · 1 评论 -
【文件包含漏洞-03】文件包含漏洞的利用及如何利用本地文件包含漏洞GetShell
如果网站存在远程文件包含漏洞,攻击者在服务器2号上写一个一句话木马文件,利用网站远程文件包含该文件,并不能Get网站Shell。由于没有存在文件上传点,而我们又需要服务器本地有个文件存在一句话木马代码,这时候我们想到,日志文件记录报错的方法,就是从日志文件中“写入”一句话木马,然后再利用文件包含来执行日志文件中的一句话木马。在该网站根目录下,新建文件FileInclusion,在此文件夹中新建文件include.php,文件内容为。我们可以利用文件包含漏洞读取任意文件,读取文件的时候有利用条件。原创 2023-02-24 00:35:04 · 3699 阅读 · 0 评论 -
【文件包含漏洞-02】文件包含漏洞分类与原理及其空字符安全绕过实验
文件包含(file inclusion)漏洞,当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。本地文件包含LFI(local file inclusion):当被包含的文件在服务器本地时,可以通过文件路径(相对或绝对)加载(读取和打开)文件,就形成本地文件包含。原创 2023-02-22 22:43:09 · 3097 阅读 · 0 评论 -
【文件包含漏洞-01】文件包含漏洞成因与其包含语句及其相关配置
tips:当服务器开启allow_url_include选项时,就可以通过php的某些特性函数[include(),require(),include_once(),require_once()]利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。,页面显示如下,可以看到在require语句界面,第一条require语句成功执行,但是第二条语句执行出错,显示警告,也出现报错致命错误,程序终止,导致后续 脚本无法执行!,网页显示如下,可以看到语句被成功执行!原创 2023-02-21 23:21:30 · 3057 阅读 · 0 评论 -
【SSRF漏洞-01】服务端请求伪造靶场实战
服务端请求伪造)是一种由攻击者构造请求,由服务器端发起请求的安全漏洞,本质上是属于信息泄露漏洞。如果“请求伪造”发生在服务器端,那么这个漏洞就叫做“服务器端请求伪造”即SSRF。SSRF是一种攻击者发起的伪造由服务器端发起请求的一种攻击,也是常见的web安全漏洞(缺陷或者风险)之一。互联网上的很多web应用提供了从其他服务器(也可以是本地)获取数据的功能。使用用户指定的URL,web应用可以获取图片、文件资源(下载或读取)。例如:百度提供识图功能。用户可以从本地或者URL。原创 2023-02-20 23:10:48 · 3837 阅读 · 0 评论 -
【CSRF漏洞-01】跨站请求伪造漏洞靶场实战
跨站请求伪造(Cross-site request forgery,CSRF)是一种攻击,它强制终端用户在当前对其进行身份验证后的web应用程序上执行非本意的操作。CSRF攻击的主要目的在伪造更改状态(修改密码、转账等)的请求,而不是盗取数据,因为攻击者无法查看对伪造请求的响应。借助社工的一些帮助(例如通过电子邮件或聊天发送链接),攻击者可以诱骗用户执行攻击者选择的操作。原创 2023-02-19 21:19:19 · 4078 阅读 · 0 评论 -
【文件上传漏洞-06】Web容器解析漏洞实战详解
文件上传漏洞第一个条件是文件成功上传且没能过滤掉恶意代码;第二个条件是让代码执行。对于第一个条件,存在着前端JS检测绕过、服务端MIME类型绕过、服务端后缀名绕过、文件内容绕过等,其根本目的是要上传文件。对于第二个条件,当中间件为IIS时:优先考虑绕过后缀名时采用恶意代码能够执行的后缀,这样文件能直接执行;当IIS版本为5.x或6.x时,考虑利用文件解析漏洞、目录解析漏洞执行该文件;当IIS版本为7.x时,考虑利用CGI-PHP解析漏洞来执行该文件。原创 2023-02-18 21:18:08 · 4258 阅读 · 0 评论 -
【文件上传漏洞-05】分布式配置文件靶场实战
当存在文件上传漏洞时,只要恶意代码没有被过滤,就存在被执行的危险。.htaccess文件主要是为了让上传的文件可在服务器执行。之前的00截断也是为了让上传的文件可在服务器执行。原创 2023-02-17 22:07:48 · 3855 阅读 · 0 评论 -
【文件上传漏洞-04】文件上传路径截断靶场实战
在http请求中,我们发现了"save_path",顾名思义就是文件上传的路径,也可以影响文件存储路径,而根据响应的文件路径,可以发现服务器对上传的文件进行了重命名。服务器后台采用的是move_uploaded_file()函数将上传的文件移动到新位置也就是文件另存,函数在执行的时候会有两个参数,第一个参数就是原文件的路径,第二个参数就是目标函数的路径,这两个路径都是作为字符串来出现的;注意:在http请求中,存储路径可控,是可以采用00截断的一个条件,且采用00阶段是为了使上传的文件可执行。原创 2023-02-16 23:29:45 · 5562 阅读 · 0 评论 -
【文件上传漏洞-03】服务器端检测与绕过靶场实战
服务器端检测验证类别:MIME类型:它的验证比较脆弱,因为MIME类型客户端可以自定义;白名单策略就是允许上传的类型文件后缀名检测:采取策略就是黑白名单策略,黑名单策略就是不允许上传的类型;对于黑名单策略的绕过,我们可以寻找一些其他可允许上传的类型,就是未在黑名单中出现的一些,对于采取白名单策略,我们只能上传白名单内的后缀名,上传完成之后,我们需要配合其他漏洞进行触发。原创 2023-02-15 18:06:46 · 4862 阅读 · 1 评论 -
【文件上传漏洞-02】前端限制与绕过靶场实战
由于JS限制,它的运行环境是我们本地浏览器,只要能看得懂JS代码,就可以进行修改JS代码甚至是删除表单事件来做绕过。由于JS限制,它的运行环境是我们本地浏览器,只要能看得懂JS代码,就可以进行修改JS代码甚至是删除表单事件来做绕过。原创 2023-02-14 23:12:35 · 5431 阅读 · 1 评论 -
【文件上传漏洞-01】文件上传漏洞及其防御
文件上传是Web应用必备功能之一,比如上传头像显示个性化、上传附件共享文件、上传脚本更新网站等。如果服务器配置不当或者没有对上传的文件后缀类型进行足够的过滤,Web用户就可以上传任意文件,包括恶意脚本文件、exe程序等,这就造成了文件上传漏洞。文件上传漏洞产生原因除了未对文件后缀进行严格的过滤外,还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护,如Apache、IIS等解析漏洞。原创 2023-02-13 21:56:55 · 6451 阅读 · 1 评论 -
XSS-challenge(level1-8)过关挑战详解
xss漏洞我们首先需要选择较为合适的方法进行触发弹窗操作,常见方式无非就三种:利用尖括号,伪协议和HTML事件,其次就是找到闭合点,最后选择合适的语句触发弹窗即可。原创 2023-02-12 19:53:52 · 5330 阅读 · 1 评论 -
【XSS漏洞-02】XSS的构造、变形及防御
简单来说,输入验证就是对用户提交的信息进行有效验证,仅接受指定长度范围内的,采用适当格式的内容提交,阻止或者忽略除此之外的其他任何数据。例子中包含两种语言,HTML语言与JS语言,其中HTML语言对大小写不敏感,也就是说无论是大小写,该语言都认为是同一个函数,而。HTML语言中对引号的使用不敏感,但是某些过滤函数对引号则是“锱铢必较”,因此我们可以使用不同引号来闭合XSS语句。因此在XSS漏洞的防范上,一般会采用"对输入进行过滤"和"输出进行转义"的方式进行处理。可以对标签属性值进行转码,用来绕过过滤。原创 2023-02-11 23:11:05 · 5635 阅读 · 1 评论 -
【XSS漏洞-01】XSS漏洞原理和危害及验证与分类
反射型XSS不与数据库进行交互,直接由前端进行反馈;存储型XSS会将恶意代码写进服务器的数据库中;反射型和存储型xss都先将数据发送到了服务器,再从服务器读取数据显示到页面中,burp能抓取到数据;DOM型XSS主要是在浏览器本地修改DOM树而执行,并不会经过服务器,所以burp抓取不到包。原创 2023-02-10 22:44:00 · 7974 阅读 · 1 评论 -
【SQL注入漏洞-10】SQL注入-getshell靶场实战
没有写入webshell的情况有两种:● 网站的路径不对,或者没有使用双斜杠进行转义● secure_file_priv的值不是为空。利用的前提条件:• 知道网站的绝对路径(根目录,或者是根目录往下的目录都可以)• web目录具有写的权限,能够使用单引号• secure_file_priv没有具体值(在mysql/my.ini中查看)原创 2023-02-08 19:06:54 · 5712 阅读 · 1 评论 -
【SQL注入漏洞-09】宽字节注入靶场实战
如果数据库使用的是DBK编码,而PHP使用的是UTF-8编码 ,那这样就可能出现注入问题。原因是程序员为了防止SQL注入,就会调用addslashes转移函数,将单引号或双引号进行转义操作,转义无非便是在单或双引号前加上转义字符(\)进行转义 ,但这样并非安全,因为数据库使用的是宽字节编码,两个连在一起的字符会被当做是一个汉字,而在PHP使用的UTF-8编码则认为是两个独立的字符,如果我们在单或双引号前添加一个字符,使其和转义字符(\)组合被当作一个汉字,从而保留单或双引号,成功进行宽字节注入。原创 2023-02-07 17:20:26 · 5665 阅读 · 1 评论 -
【SQL注入漏洞-08】二次注入靶场实战
二次注入漏洞是一种在Web应用程序中广泛存在的安全漏洞形式。相对于一次注入漏洞而言,二次注入漏洞更难以被发现,但是它却具有与一次注入攻击漏洞相同的攻击威力。原创 2023-02-06 15:48:08 · 5668 阅读 · 1 评论 -
【SQL注入漏洞-07】堆叠查询靶场实战
堆叠查询的局限性:堆叠注入的局限性在于并不是每一个环境下都可以执行,可能受到API或者数据库引擎不支持的限制,当然权限不足也可以解释为什么攻击者无法修改数据或者调用一些程序。虽然我们前面提到了堆叠查询可以执行任意的sql语句,但是这种注入方式并不是十分的完美的。在我们的web系统中,因为代码通常只返回一个查询结果,因此,堆叠注入第二个语句产生错误或者结果只能被忽略,我们在前端界面是无法看到返回结果的。如上面的实例如果我们不输出密码那我们是看不到这个结果的。因此,在读取数据时,我们建议使用union(联合)原创 2023-02-05 22:04:08 · 6001 阅读 · 1 评论 -
【SQL注入漏洞-06】HTTP头部注入靶场实战
常见的sql注入一般是通过请求参数或者表单进行注入,HTTP头部注入是通过HTTP协议头部字段值进行注入。updatexml()函数回显字符长度有限,先获取用户数量,再逐一获取用户名和密码需要找到注入点 才能够闭合引号的注入参数。原创 2023-02-05 16:57:33 · 6337 阅读 · 1 评论 -
【SQL注入漏洞-05】延时注入靶场实战
布尔盲注和延时注入的相同点:都是通过浏览器页面两种不同的响应来推测输入条件的真假性布尔盲注和延时注入的不同点:布尔盲注是在条件真假时页面会有不同的显示延时注入则是只能在响应时间上推测显示结果的真假延时注入的缺点:有时候网页响应慢并不是因为sleep语句起的效果,也可能是网络等外部因素的影响。同时时间成本很高。原创 2023-02-04 22:54:47 · 6508 阅读 · 1 评论 -
【SQL注入漏洞-04】布尔盲注靶场实战
当我们改变前端页面传输给后台sql参数时,页面没有显示相应内容也没有显示报错信息时,不能使用联合查询注入和报错注入,这时我们可以考虑是否为基于布尔的盲注。利用页面返回的布尔类型状态,正常或者不正常;我们输入的语句让页面呈现出两种状态,相当于true和false,根据这两种状态可以判断我们输入的语句是否查询成功。布尔盲注就是根据这两种状态,来反推我们输入的条件是真还是假。以sqli-labs-masterless-8关为例原创 2023-02-03 14:17:07 · 6659 阅读 · 2 评论 -
【SQL注入漏洞-03】报错注入靶场实战
在注入点的判断过程中,发现数据库中SQL语句的报错信息,会显示在页面中,因此可以进行报错注入报错注入的原理:就是在错误信息中执行SQL语句。触发报错的方式很多,具体细节也不尽相同。报错注入有可能成功,也有可能不成功!可以多刷新几次原创 2023-02-02 22:56:32 · 6375 阅读 · 1 评论 -
【SQL注入漏洞-02】union注入(联合查询)靶场实战
为了更清楚的看清sql语句的执行与变化过程,我们先修改源代码,打开Less-1/index.php,在源码中添加如下语句将执行的sql语句打印出来,方便我们查看。我们观察页面会发现,当我们输入id=1和id=2时,页面中的name和password的值是不一样的,说明我们输入的数据和数据库有交互并且将数据显示到页面上了。如果不知道表名也不影响,根据mysql数据库特性,select语句在执行的过程中,并不需要指定表名。,页面发生报错,说明后端未对前端发送的数据没有很好的过滤,产生了sql注入漏洞。原创 2023-02-01 22:00:00 · 6872 阅读 · 2 评论 -
【SQL注入漏洞-01】SQL注入漏洞原理及分类
结构化查询语言(Structured Query Language,缩写︰SQL),是一种特殊的编程语言,用于数据库中的标准数据查询语言。SQL注入(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。从而导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。sql注入在安全问题中排行第一。原创 2023-02-01 14:51:15 · 7616 阅读 · 6 评论