SQL注入总结1.什么是SQL注入SQL注入是一种通过操纵输入来修改后台SQL语句以达到利用代码进行攻击目的的技术
2.漏洞产生的前提条件参数用户可控:前端传给后端的参数内容是可以被用户控制的参数带入数据库查询:传入的参数拼接到SQL语句,且带入数据库查询
必懂基础知识点:系统函数
1234567891011121314151617system_user()——系统用户名 user()——用户名 current_user()——当前用户名 session_user()——链接数据库的用户名 database()——数据库名 version()——数据库版本 @@datadir——数据库路径 @@basedir——数据库安装路径 @@version_conpile_os——操作系统
字符串连接函数
12345concat(str1,str2,...)——没有分隔符地连接字符串concat_ws(separator,str1,str2,...)——含有分隔符地连接字符串group_concat(str1,str2,...)——连接一个组的所有字符串,并以逗号分隔每一条数据。
–+可以 ...
解析漏洞总结0x00 服务器解析漏洞服务器解析漏洞一般是服务器自身或扩展组件带来的漏洞,配合文件上传等漏洞就会产生很大的危害。
我们这里整理常见的服务器apache、IIS、nginx的解析漏洞。
0x01 apache一、不可识别解析apache解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。比如 test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把wooyun.php.owf.rar解析成php。
apache版本在以下范围内
Apache 2.0.x <= 2.0.59
Apache 2.2.x <= 2.2.17
Apache 2.2.2 <= 2.2.8
都可以通过上传xxx.php.rar或xxx.php+任意无法解析后缀解析为php。
二、配置问题
1.如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件名里包含.php 即使文件名是 test2.php ...
WEB漏洞—文件上传之后端黑白名单绕过
文件上传常见验证:后缀名,类型、文件头等后缀名:黑名单、白名单文件类型:M工ME信息文件头:内容头信息方法:查看源码、抓包修改包信息
黑名单:明确不让上传的脚本格式后缀,没有拒绝一律允许
白名单:明确可以上传的脚本格式后缀,没有允许一律拒绝
MIMEMIME(Multipurpose Internet Mail Extensiions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
注:Tomcat的安装目录\conf\web.xml中就定义了大量MIME类型。
类型
后缀
MIME
Microsoft Word文件
.word
application/msword
PDF文件
.pdf
application/pdf
GIF图形
.gif
image/gif
JPEG图形
.jpeg .jpg
image/jpeg
au ...
WEB漏洞—文件上传内容逻辑数组绕过
12345678图片一句话制作方法:copy 1.png /b + shell.php /a webshell.jpg文件头检测:举一个简单的例子,比如说如果图片(GIF)用文本的格式进行打开的话那么对应的是: GIF89a图像文件信息判断逻辑安全=二次渲染:指的是网站接受目标后会再进行操作,也就是说会对文件进行二次操作。逻辑安全-条件竞争:有的网站会对上传的文件进行上传后再验证(上传过程不进行验证),这样文件会暂时保存到服务器上,可以趁程序未对此文件进行操作(例如改名,移位等),访问文件进行占用,产生条件竞争。目录命名-x.php/. :这种命名方法会保存为一个x.php文件脚本函数漏洞-CVE-2015-2348:数组接受+目录命名
getimagesize() 【只获取图片】函数:将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。
exif_imagetype:判断一个图像的类型
以上两个函 ...
WEB漏洞—文件上传之解析漏洞编辑器安全
123456参考共享的中间件漏洞PDFIIS6/ 7简要说明-本地搭建Apache配置安全--vuthabApache换行解析-vulhubNginx解析漏洞-vulhubNginx文件名逻辑-vulhub
123Apache 低版本解析漏洞利用场景:我们可以利用文件上传,上传一个不识别的文件后缀(x.php. xxx.yyy),apache 识别不了最后的yyy,向前解析直到识别,利用解析漏洞规则成功解析文件,随后后门代码被触发
1234567891011121314扩展1.POC(Proof ofConcept),中文意思是“观点证明”。这个短语会在漏洞报告中使用,漏洞报告中的POC则是一段说明或者一个攻击的样例,使得读者能够确认这个漏洞是真实存在的。2.EXP(Exploit),中文意思是“漏洞利用”。意思是一段对漏洞如何利用的详细说明或者一个演示的漏洞攻击代码,可以使得读者完全了解漏洞的机理以及利用的方法。3.VUL(Vulnerability),泛指漏洞。4.CVE漏洞编号,CVE 的英文全称是“Common Vulnerabil ...
WEB漏洞—文件上传之WAF绕过及安全修复常见绕过方法:
数据溢出-防匹配(xxx…..)简单理解:就是如果在WAF在匹配的时候对你的上传文件进行匹配,如果此时将这个匹配的范围加大,那么这样的话程序可能会有一个阈值,或者说是临界点,从而有几率达到绕过的目的
符号变异-防匹配(’ “ ;)简单理解:假如说,WAF软件的防护代码是匹配到一对双引号,那么这个时候如果我构造一个只有一个双引号,所以就会出现三种情况,第一种就是把一个双引号也当作名字的一部分,这样会拦截,第二种,就是可以识别出这个一个两个双引号的问题,第三种情况就是不识别。如果是不识别,那么就可以实现绕过、
原因分析:就是匹配最后一个双引号,接收前面的数据,那么如果我是:x”x.php这样也是可以上传的,因为是接受最后一个双引号前面的值,或者:”x”x.php
数据截断-防匹配(%00;换行)简单理解:可以通过用分号的方式,进行绕过,因为在编程语句中一个分号表示的是一条语句的结束,所以这个时候,如果是:”x.jpg”;.php这样就有可能上传成功
还有一种方式就是换行,因为在编程语言中换行是“\n”,但是数据包是识别这 ...
WEB漏洞—XSS跨站之原理分类及攻击手法
跨站脚本攻击(Cross Site Scripting),缩写为XSS。恶意攻击者往Web页面里插入恶意javaScript代码,当用户浏览该页之时,嵌入其中Web里面的javaScript代码会被执行,从而达到恶意攻击用户的目的
xss表示Cross Site Scripting(跨站脚本攻击),它与SQL注入攻击类似,SQL注入攻击中以SQL语句作为用户输入,从而达到查询/修改/删除数据的目的,而在xss攻击中,通过插入恶意脚本,实现对用户游览器的控制。
攻击者往Web页面里插入恶意html标签或者javascript代码。比如:攻击者在论坛中放一个看似安全的链接,骗取用户点击后,窃取cookie中的用户私密信息;或者攻击者在论坛中加一个恶意表单,当用户提交表单的时候,却把信息传送到攻击者的服务器中,而不是用户原本以为的信任站点。
总结:前端用户提交的脚本代码被其他用户浏览器执行产生预期外的执行后果。(让自己提交的前端脚本代码被别人运行)。
缺陷
1、耗时间2、有一定几率不成功3、没有相应的软件来完成自动化攻击4、前期 ...
文件上传总结漏洞原理网站Web应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型,此时攻击者就可以上传一个webshell到一个Web可访问的目录上,并将恶意文件传递给如PHP解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护。
文件上传漏洞原因分析:无安全防护措施,可以直接上传脚本漏洞原因:上传功能未考虑安全问题,可以任意上传*.asp、.aspx、.php、*.jsp等可执行的脚本文件,不需要任意的绕过就可以直接获取Web权限。
采用黑名单扩展名,导致过滤不严格漏洞原因:上传文件判断文件扩展名时,采用了黑名单机制,只是禁止*.asp、.aspx、.php、.jsp这种已知的可执行文件扩展名,但没有限制.cer、.asa、.PHP、*.JSP这类扩展名,从而导致过滤不严格,形成上传漏洞。
仅通过客户端判断,存在绕过限制的漏洞漏洞原因:上传文件判断文件类型时,通过客户端语言JavsScrip判断文件 ...
文件上传WAF绕过总结
\1. 前端验证
前端验证的概念是与后端验证所区分而来,所谓前端文件验证,即是在文件正式开始上传之前,例如利用 javascript 脚本,对文件进行白名单或黑名单过滤,符合规则即可以向服务器上传,不符合则拒绝上传。常规的 javascript 限制上传文件后缀代码:
123456789101112131415161718192021<script language="JavaScript" type="text/javascript"> function check() { var aa = document.getElementById("userfile").value.toLowerCase().split('.'); if(document.form1.userfile.value == "") { alert('图片不能为空!'); ...
WEB漏洞—XSS跨站之代码及httponly绕过
什么是cookie,和Session的区别又是什么
Cookie 和 Session都是用来跟踪浏览器用户身份的会话方式,但是两者的应用场景不太一样。Cookie 一般用来保存用户信息 比如
①我们在 Cookie 中保存已经登录过得用户信息,下次访问网站的时候页面可以自动帮你填写登录的一些基本信息;
②一般的网站都会有保持登录也就是说下次你再访问网站的时候就不需要重新登录了,这是因为用户登录的时候我们可以存放了一个 Token 在 Cookie 中,下次登录的时候只需要根据 Token 值来查找用户即可(为了安全考虑,重新登录一般要将 Token 重写);
③登录一次网站后访问网站其他页面不需要重新登录。Session 的主要作用就是通过服务端记录用户的状态。典型的场景是购物车,当你要添加商品到购物车的时候,系统不知道是哪个用户操作的,因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的Session 之后就可以标识这个用户并且跟踪这个用户了。Cookie 数据保存在客户端(浏览器端),Session 数据保 ...