概念:一种将恶意代码插入到程序 SQL 语句中,从而误导数据库执行恶意逻辑的攻击技术。通过 SQL 注入,攻击者可以达到获取敏感信息,窃取访问权限等目的。
原理:
0){将this的宽度的赋值为网页的body元素的客户宽度减去40;}"标签所处位置为文件路径/files/attmgn/2024/1/admin20240124224649208_0.jpg",其具备的样式是最大限度宽度为640像素,在垂直方向上有6像素的间距,边框宽度为0像素且边框颜色为白色,同时有5像素的边框圆角,边框合并模式,背景颜色为白色,并且应用了特定滤镜,即对图像应用了特定的滤镜效果,该滤镜的具体参数为让图像产生特定阴影效果,阴影颜色为#505050,阴影方向为120度,阴影强度为4单位;对于火狐浏览器应用了特定的盒式阴影效果,该效果参数为在水平方向偏移3像素,垂直方向偏移3像素,模糊半径为10像素,阴影颜色为#505050;对于webkit引擎的浏览器应用了特定的盒式阴影效果,该效果参数为在水平方向偏移3像素,垂直方向偏移3像素,模糊半径为10像素,阴影颜色为#505050;对于通用的盒式阴影效果,该效果参数为在水平方向偏移3像素,垂直方向偏移3像素,模糊半径为10像素,阴影颜色为#505050"/>。
攻击方式:
搜索注入
报错注入
堆叠查询注入
基于布尔的盲注
基于时间的盲注(延时注入)
HTTP头部注入
宽字节注入
二阶注入
DNSlog外带注入
XSS
概念:目标未对用户从前端功能点输入的数据与输出的内容进行处理或者处理不当,从而导致恶意的JS代码被执行造成窃取用户信息/劫持WEB行为危害的WEB漏洞!
原理:
在前端代码(HTML、CSS、JavaScript)由浏览器执行的特性被攻击者利用的情况下,恶意的JavaScript代码被插入到页面当中,而当用户浏览此页面时,致使恶意代码得以执行。
攻击方式:
1.该攻击手法是:借助发送邮件或者诱导等的方式,攻击者把涵盖 xss 恶意链接发送给到目标用户,在目标用户访问这个链接之际,服务器会接收该用户所发的请求并予以处理,之后服务器把存有 xss 恶意脚本传送至目标用户的浏览器,当浏览器解析这段带有 xss 代码的恶意脚本以后,就会引发 xss 攻击。
2.存储型XSS属于持久化攻击,其代码被存储于服务器的数据库里,像是在个人信息处,或者发表文章的地方,能够插入代码,要是插入的数据未被过滤,或者过滤不严格,那么这些恶意代码未经过滤就会储存至数据库中,当用户访问该页面时,未进行编码过滤便输出到浏览器上,就会触发代码执行,进而造成xss攻击。
3.DOM型xss,它实则是一种特殊类别的反射型XSS,是基于DOM文档对象模型的漏洞。网站页面存有诸多页面元素,页面到达浏览器时,浏览器会为页面创建顶级的Document object文档对象,随后生成各个子文档对象,每个页面元素对应一个文档对象,每个文档对象含有属性、方法与事件。能借助JS脚本对文档对象予以编辑进而修改页面元素。也就是说,客户端的脚本程序能够借助 DOM 动态地将页面内容予以修改,从客户端那儿拿来 DOM 里的数据并于本地开展执行操作。基于这样的特性,就能够运用 JS 脚本来达成 XSS 漏洞的利用!
三者区别:
0)这个的宽度等于文档主体的客户端宽度减去40,其源路径为文件/2路径/admin202401242246个1/2024/1/admin202401242246了650像素的值0643与1的乘积所对应的.jpg图片,具有这样的样式,其最大宽度为640像素,在上下左右均有一定的间隙为6像素的边距,边框性质为0像素,类型为与白色进行实线条的边框展示,设置有角边性质如度的值为0的圆角,且对于边框来讲呈现为合并特性,背景当中的颜色是白色,同时具有滤镜相关的效果,如运用到特定的程序标识里的图像转换相关,具体是颜色像那种色度值为#505050,方向为120度,强度就是4的阴影效果,在火狐浏览器下有这样相似的盒子阴影,具体是3像素的水平距离、3像素的垂直距离以及程度值为10像素的模糊度,颜色即为#505050设置,在webkit内核浏览器下同样存在盒子阴影,具体是水平距离为3像素、垂直距离为3像素及到阴影模糊度为10像素的设置,颜色为 #505050,在通用的盒子阴影设置里也有3像素水平、3像素垂直值及10像素模糊度,颜色为#505050的显示。
CSRF
概念:由于网站对用户网页浏览器的信任导致用户在当前已登录的Web站点的状态下,访问攻击者构造的攻击连接从而执行非本意的操作的漏洞。
原理:
0)“this.width=document.body.clientWidth - 40; ”放置于“src = /files/attmgn/2024/1/admin20240124224651493_2.jpg ”处,其样式为“max - width:640px;margin:6px;border:0px solid #FFFFFF;border - radius:5px;border - collapse:collapse;background - color:#FFFFFF;filter:progid:DXImageTransform.Microsoft.Shadow(color=#505050.direction=120.strength=4);-moz - box - shadow:3px 3px 10px ”#505050“;-webkit - box - shadow:3px 3px 10px ”#505050“;box - shadow:3px 3px,10px ”#505050“;” ,这样就形成了特定的显示效果。
攻击方式:
1. 以受害者名义发送邮件,发消息。
2. 盗取受害者的账号,甚至购买商品,虚拟货币转账。
3. 对受害者的网络配置予以修改,诸如改变路由器DNS,重置路由器密码这些操作。
4. 网站后台创建管理员用户,破坏网站,获取服务器权限等。
SSRF
概念:由于服务端提供了从其他服务器应用获取数据的功能,但又没有对目标地址做严格过滤与限制,导致攻击者可以传入任意的地址来让后端服务器对其发送请求,并返回对该目标地址请求的数据的Web安全漏洞!
原理:
攻击方式:
1.对内部资源展开访问,攻击者借助于在目标应用程序里构造恶意请求这个行为,致使目标做出针对内部网络的请求。
2.达成对内部系统的攻击,攻击者能够借助SSRF攻击,凭借受害者服务器此为跳板,实施对其他系统的攻击。
3.通过绕过对于访问的控制:身为攻击者能够借助SSRF漏洞来绕过访问控制,进而直接去访问目标系统。
4.攻击者借助SSRF攻击,可驱使目标服务器发起非常大量繁多的请求致使遭到拒绝服务,这便是DOS攻击,其会导致DoS状态。
5.利用别的漏洞,攻击者能够把SSRF同另外的漏洞联合运用,借此强化攻击成效。
CORS
概念:跨域资源共享,其思想是使用自定义的HTTP头部让浏览器与服务器进行沟通,它允许浏览器向跨域服务器发出XMLHttpRequest请求,从而克服AX只能同源使用的限制。
原理:
生成访问控制策略的是第三方网站,其指定用户浏览器放宽SOP的限制,以此实现与指定目标网站共享数据。
CORS跨域漏洞
概念:因为同源策略的存在,不同源的客户端脚本不能访问目标站点的资源,如果目标站点CORS配置不当,没有对请求源的域做严格限制,导致任意源都可以访问时,就存在cors跨域漏洞问题。
原理:
攻击者能够借助Web应用,对用于用户请求数据包的Origin头校验不够严谨,以此诱使受害者去访问攻击者精心制作好的那恶意网站,进而实现跨越域名获取受害者的敏感数据啦。
攻击方式:
生成带有恶意的HTML页面,借助链接来诱导遭受侵害的人去进行点击操作,进而获取到遭受侵害之人的敏感信息。
JSONP
概念:JSONP是JSON with padding(填充式JSON或参数式JSON)的简写,是基于JSON格式达的为解决跨域请求资源而产生的解决方案。
原理:
他达成的基础原理是借助script标签的src属性所具备的、不受同源策略制约的特质,进而实现跨越去获取数据。
可以这么讲,就是能够使得网页从其他的域名,也就是别的网站那里,去获取相关资料,也就是进行跨域读取数据。
攻击方式:
构建带有恶意性质的 html 页面,借助链接去诱导遭受侵害的人进行点击操作,进而获取到那些遭受侵害之人的敏感信息。
文件包含漏洞
概念:在PHP程序中使用文件包含的对象可以被前端的用户控制且没有经过过滤或严格的定义,用户可以将其他的文件作为参数带入到PHP代码中解释执行,从而造成敏感信息泄露/程序文件读取/GetShell等危害的漏洞。
原理:
在应用程序里,对于用户控制的文件路径,没有进行正确过滤,而且把用户所提供的输入用直接或者间接的方式,包含在了动态文件包含语句当中。
攻击方式:
1. 当地文件囊括(Local File Inclusion,LFI)袭击,袭击者经由过程构建歹意请求,直接或者间接性地囊括服务器上的当地文件,要是袭击告成,袭击者能够读取敏感文件的内容,像配置文件、用户凭证、日志文件等资料,有时候袭击者甚至能够借助修改囊括的文件来达成任意代码执行的鹄的。

2. 远程文件包含,也就是Remote File Inclusion,简称为RFI这种攻击行为,攻击者会去构造恶意请求,把远程服务器之上的文件包含进应用程序之中,攻击者一般来讲会在远程服务器上面放置恶意脚本,接着凭借文件包含漏洞去执行这些恶意脚本,这就致使攻击者有能力在目标服务器上执行任意的代码,并且有可能造成服务器被完全控制。
文件上传漏洞
概念:由于程序员未对上传的文件进行严格的验证和过滤,而导致的用户可以越过其本身权限向服务器上传可执行的动态脚本文件。
原理:
网站的 web 应用存在一些文件上传功能,像文档上传、图片上传、头像上传、视频上传等,倘若上传功能的实现代码未对上传文件的后缀以及文件类型进行严格校验,那么在这种情况下,攻击者能够上传一个 webshell 至一个 web 可访问的目录,接着把恶意文件传递给 PHP 解释器用以执行,随后便能够在服务器上执行恶意代码,开展数据库执行、服务器文件管理、服务器命令执行等恶意操作。
攻击方式:
查找测试网站里的文件上传模块,常见有如头像上传,修改上传,文件编辑器内的文件上传,图片上传、媒体上传等情况,借助抓包去上传恶意文件来开展测试,上传后缀为asp、php、aspx等的动态语言脚本,查看上传时的返回信息,以此判断能否直接上传,要是不能直接上传的话,接着进行测试上传突破,像是上传文件时仅允许图片格式后缀,然而修改文件时却对后缀名没有限制,图片文件能够修改成动态语言格式比如php,那么有可能通过访问这个文件的URL直接获取权限控制网站。
文件解析漏洞
概念:由于中间件错误的将任意格式的文件解析成网页可执行文件,配合文件上传漏洞进行GetShell的漏洞!
原理:
因为网站管理者存在操作不当的状况,或者是web服务器自身存在漏洞,致使一些特殊文件,在特定情形下,被IIS,被apache,被nginx,又或者被其他web服务器解析成脚本文件进而去执行。
攻击方式:
1. 如下这般的目录遍历攻击,那种展开攻击行径之举的攻击者凭借致使漏洞出现的文件解析函数没可以正确过滤了那些用户所输入的路径的缘故,从而去试着获取系统之内的敏感文件。而这般攻击者很有可能运用诸如“../”这类字符序列从而跳出当下所在目录,进一步去访问系统当中的别的目录以及文件。
2. 漏洞为文件包含,攻击者会提恶意请求给应用程序,利用其包含外部文件时未恰当验证的破绽,攻击者能借在URL参数里、请求头部中或者配置文件内注入恶意文件路径去达成恶意代码的执行。
3. 发生远程文件包含,也就是RFI攻击,攻击者会利用包含远程文件的这个功能,朝着应用程序注入恶意代码。攻击者能够通过提供指向恶意脚本的远程URL,致使应用程序把该脚本下载下来,并且在服务器上执行。
4. 针对本地文件包含(LFI)攻击而言,攻击者借助注入文件路径或者恶意代码,凭借应用程序于包含本地文件之际未实施恰当验证的漏洞,攻击者存在访问系统里敏感文件、加密密码以及配置文件等的可能性。
5. 网络攻击里边一种名为Null字节注入攻击的手段,是攻击者借助在文件名当中插入空的字节也就是0x00这种方式,去欺骗解析函数把文件截短,进而借由这样的操作绕过文件扩展名的控制,最终达成执行恶意代码的目的。
反序列化漏洞
概念:当程序在进行反序列化时,会自动调用一些函数,例如__wakeup(),__destruct()等函数,但是如果传入函数的参数可以被用户控制的话,用户可以输入一些恶意代码到函数中,从而导致反序列化漏洞。
原理:
1. 序列化,于编程范畴内而言,对象能够借由它转化成字节流,此乃为了达成在各异系统之间进行传输或者存储之目的。序列化实质是把对象转变成字节流的进程,然而反序列化则是将字节流转变成对象的进程。
2. 存在着一种反序列化漏洞,这种反序列化漏洞常规情况下会出现在有对其输入存在信任情况的序列化数据之上,至于攻击者,那是能够去构造含有特定有效负载的具有恶意性质的序列化数据的,并且能把这个提供给目标的应用程序。
3. 不合安全常理的那种反序列化情况:应用程序没能正确地去验证或者过滤反序列化的数据,致使攻击者有能力去执行恶性不良的操作。这种状况很可能是缘于应用程序信任反序列化所涉及的数据,可是却没有恰如其分地去验证它的具体内容或者结构。
4. 恶意负载执行情况是,攻击者能够于恶意序列化数据里嵌入可执行代码。当应用程序对该数据进行反序列化操作时,恶意代码便会被执行,进而致使攻击者得以执行任意操作,涵盖远程代码执行、拒绝服务攻击、数据泄露等情况。
5. 有的特定漏洞种类是,具体的反序列化漏洞类型涵盖,Java里的Java反序列化漏洞,像Apache Commons Collections漏洞,PHP中的PHP反序列化漏洞,像PHP对象注入漏洞。因设计缺陷或者采用不当的反序列化库框架或者功能致使这些漏洞。
攻击方式:
1. 借助参数污染攻击,攻击者能够通过对应用程序或者请求参数做出修改之举,去把带有恶意性质的序列化数据传递给应用程序,而应用程序于进行反序列化操作时,会对这些恶意数据予以解析并且执行,进而致使出现安全漏洞后果。
2. 攻击者所采用的远程代码执行(RCE)方式是,将经过特殊构造的恶意序列化数据传递给应用程序,由此成功使远程代码得以执行,而这一情况致使攻击者能够获取应用程序的控制权,进而执行任意操作。
3. 敏感度较高的信息出现泄露情况,在特定境况语境之下,应用程序实行反序列化进程当中,就极有可能会将敏感度较高的信息予以暴露。而攻击者是能够借助构造专门特定的序列化数据,进而致使应用程序于反序列化的时候将敏感度高的数据泄露出来。
4. 发起服务拒绝,也就是针对Denial of Service,即DoS的攻击行为,攻击者能够去构造带有恶意性质的序列化数据,这种数据会致使目标应用程序在反序列化的时候,消耗掉大量的计算资源,或者占用大量内存,进而搞到系统坍塌没法正常响应请求,或者直接就无法做出响应了。
5. 以下是改写后的句子:攻击者借助复杂的对象关联以及嵌套,利用链式反序列化攻击,构造恶意的序列化数据,以此触发多次反序列化操作,而这些操作有可能引发应用程序里的意外行为,进而致使安全漏洞。
命令执行漏洞
概念:由于PHP程序未对前端用户提交的数据进行严格过滤或限制,从而导致传入的字段被带入到命令执行函数中作为参数执行,造成GetShell或接管服务器权限等高危害的Web漏洞!
原理:
是因为服务端没对执行命令的函数进行过滤才造成的,我们能够借助编写一些系统函数,在疑似存在命令执行接口的地方输入,以此来检测这个接口是不是存在命令执行漏洞。
攻击方式:
1. 就是对于输入验证这块不到位,在用户输入被径直传递给系统命令的这个时候,并没有展开充分的输入验证以及过滤操作,攻击者能够借助于在输入里插入特殊字符或者就行命令注入,进而执行任意命令。
2. 程序执行命令之际,会运用操作系统的调用函数,然而,其并未对输入数据予以正确验证与过滤,此刻,攻击者能够借由构造恶意输入,进而执行任意系统命令。
3. 当程序执行命令之际,借助系统调用函数把命令传递给诸如Shell之类的外部程序解释器,然而在传递命令之时,并未对输入予以正确过滤与验证,攻击者能够凭借构造特殊字符或者进行命令注入来接管Shell并执行任意命令,这便是Shell接管。
4. 应用程序倘若允许经由用户输入去加入外部文件,此为文件包含漏洞,一旦未对输入予以正确验证还有过滤,攻击者便能构建恶意输入来达成包含以及执行任意命令的目的。
5. 操作系统存在环境变量,当应用程序借助操作系统环境变量去执行命令之际,要是没有对环境变量予以正确验证以及过滤,那么攻击者能够通过改变环境变量的值来实施任意命令。
代码执行漏洞
概念:由于PHP程序未对前端用户提交的数据进行严格过滤或限制,从而导致传入的字段被带入到代码执行函数中作为参数执行,造成GetShell或接管服务器权限等高危害的Web漏洞!
原理:
在编写代码期间,开发者未曾预见到,也未考虑到攻击者会利用输入去执行恶意操作这种状况,同时,编写过程里,输入验证、数据过滤以及安全控制方面未充足进行来着,所以导致了漏洞被产生出来。
攻击方式:
1. 让攻击者借助输入恶意数据,以此触发目标系统之上的代码进行执行,从而获取对目标系统的控制权限之举,被称作远程代码执行,便是Remote Code Execution即RCE。常见的远程代码执行中的漏洞包含了这样的情况有,传递给命令执行函数时,用户输入未经过正确的过滤,以及还存在不安全的反序列化等状况。
2. 一种名为 SQL 注入(SQL Injection)方式当中,攻击者会实行这样的行为,在用户输入里注入带有恶意性质的 SQL 语句,经过这样的操作绕过输入验证以及过滤这点,但最终目的是执行恶意代码。假设目标系统没有以正确方式处理用户输入的 SQL 查询,那这种系统就容易遭受 SQL 注入攻击。
3. 命令注入又称Command Injection,攻击者借助于往用户输入里注入恶意命令,以此绕过输入验证以及过滤,进而在目标系统之上执行任意命令,常见的命令注入漏洞现身于系统调用处,现身于Shell命令执行之处,现身于远程管理协议等地方。
4. 文件里存在包含漏洞,也就是File Inclusion Vulnerabilities,攻击者会借由包含恶意文件的办法来执行代码,这种漏洞常常出现在具备动态包含文件特性的语言当中,像PHP就是这样,如果目标系统没有针对用户的输入展开恰当的校验以及过滤,那么攻击者能够借助构造恶性的文件路径或者远程URL,去包含并且执行恶意文件。
5. 对 eval() 函数进行调用時:此中情况为,当目标系统的代码里运用 eval() 函数以动态方式执行用户所输入的代码,并且并没有针对输入开展恰当的处理以及验证工作时,攻击者能够借助注入恶意代码这一手段,运用此漏洞来执行任意代码。
6. 反序列化漏洞指的是一种漏洞情况,攻击者能够借助构造恶意的序列化的数据,达成远程代码执行的目的,当目标系统并没有正确地去验证以及合理地过滤反序列化过来的数据的时候呀,攻击者就能够向其中注入恶意代码的呢。
常见的执行命令, 获取敏感信息,写入 web 后门等
webshell免杀
概念:攻击者通过各种技术手段绕过安全软件的检测和防御机制,使其植入的Webshell能够在目标系统中长期存在而不被发现。
原理:
借助对Webshell予以修改,或者进行加密,以此让其能够避开安全软件的检测,以及防御机制。
1. 对webshell代码予以混淆,经此操作,能让其变得难以被静态分析引擎识别,也难以被模式匹配规则检测出来。其中,混淆所涵盖的方面包含变量名之更改,函数名之更改,常量字符串之更改,添加冗余代码,运用编码手段,运用加密手段等。
2. 动态加载,把webshell切割成好多模块 ,借由动态加载以及组合实现完整功能的还原。这样一来,能让原本的webshell样本不再连续 ,致使其更不容易被依照特征匹配进行的检测机制给检测出来。
3. 对于命令执行绕过,是在执行命令这个行为过程当中,会采用一些相应的绕过技巧,以此来规避安全软件所进行的检测以及防御。举例来说,会利用操作系统所具备的特殊命令,还会检测环境是不是处于沙盒之内,并且会模拟用户进行登录等。
4. 把数据包加密,做这样的举动:要针对webshell,以及跟它有交互的数据来加密,以此达到此效果——会使得在那些作为传输的情形之时,很难被网络安全设备,或很难被入侵检测系统也就是IDS/IPS给检测出来。
5. 加入反调试代码进去,再加入反追踪代码存在于其中,是在webshell里面这么做的,这么做的目的在于阻止安全人员展开对它的分析呀,阻止安全人员进行调试的行为呢。
6. Webshell 文件伪装,是把它伪装成系统的文件,或者伪装成合法应用程序的文件,以此令其更难以被安全软件扫描检测出来,也更难以被系统文件扫描检测出来。
攻击方式:
1.黑客运用代码混淆加加密之法,致使Webshell代码极难被辨认与剖析,可以涵盖采用多样的编码方式、密码算法,以及混淆工具,让Webshell代码变得无法径直被识别和弄明白。
2.变形以及变量替换,攻击者借助改变Webshell的代码构造,还有进行变量名称的更改。令其跟常见的安全检测规则和模式不相适配,如此一来能够绕过检测系统的静态分析,还能跳过其动态分析。
3.攻击者运用动态生成以及反射执行技术,让Webshell的代码并非存于磁盘之上,而是于运行之际动态且去生成还同时执行,此方式能够躲避静态文件的扫描以及恶意代码的检测。
4.有高级的免杀工具以及技术,攻击者会运用这些高级的免杀工具跟技术,像是运用自定义的加密算法,还有虚拟化技术,其中包括多级反射执行等,以此来提升Webshell的免杀能力,这些工具和技术一般情形下能够避开常见的安全防御工具以及规则。
5.对于文件格式的利用,是攻击者借助一些特定文件格式所存在的漏洞,去开展传播以及执行Webshell的行为。比如说,利用图片文件格式的那个特定漏洞,或者利用文档文件格式的那种特定漏洞,用以实现把Webshell嵌入在其中的操作,进而达成绕过文件扫描以及安全检测这个结果。
6.时间延迟以及睡眠机制,攻击者借助于在Webshell代码里增添时间延迟还有睡眠机制,促使Webshell的活动于特定时间范围之内变得相对稀少,进而降低被检测到的可能性。