WEB漏洞 常见类型

為{幸葍}努か 提交于 2019-11-26 16:43:31

常见的类型有以下:SQL注入、XSS跨站脚本攻击、恶意文件上传、一句话木马连接等。

SQL注入:

漏洞特征:存在SQL注入语句 常见的SQL注入语句有:

●通过报错注入、布尔盲注、时间盲注判断是否存在注入:

⊙字符型

■ 参数后加单引号,报错:sql1.php?name=admin'

■ 参数后加' and '1'='2和' and '1'='2,访问正常:sql1.php?name=admin' and '1'='1 /sql1.php?name=admin' and '1'='2

■ 参数后加' and sleep(3) --,是否延迟3秒打开:sql1.php?name=admin' and/or sleep(3)--

⊙数字型

■ 参数后加单引号,报错:sql2.php?id=1'

■ 参数后加and 1=1和and 1=2,访问正常:sql2.php?id=1 and 1=1/sql2.php?id=1 and 1=2

■ 参数后加and sleep(5),是否延迟3秒打开:sql2.php?id=1 and sleep(5)

● 通过各种注入语句进行SQL注入攻击:

☉联合查询注入

■ union select

■ order by

☉报错注入(常见报错注入函数)

■ floor()

■ extractvalue()

■ updatexml()

■ geometrycollection()

■ multipoint()

■ polygon()

■ multipolygon()

■ linestring()

■ multilinestring()

■ exp()

⊙常见数据库类型判断

■ ACCESS

and (select count (*) from sysobjects)>0返回异常

and (select count (*) from msysobjects)>0返回异常

■ SQLSERVER

and (select count (*) from sysobjects)>0返回正常

and (select count (*) from msysobjects)>0返回异常

and left(version(),1)=5%23参数5也可能是4

■ MYSQL

id=2 and version()>0返回正常

id=2 and length(user())>0返回正常

id=2 CHAR(97, 110, 100, 32, 49, 61, 49)返回正常

■ Oracle

and length (select user from dual)>0返回正常

由于文章长度有限,只列举部分,一般出现有上述内容,则可判断此处可能存在SQL注入。

如图,可以很明显地发现红色框中有很明显的SQL注入语句,如布尔盲注、union select联合注入。

XSS跨站脚本攻击:

漏洞特征:明显的js恶意执行代码 常见的XSS跨站脚本攻击中存在的一些代码:

● 标签

■ <script>

■<body>

■<input>

■<img>

■<a>

■<svg>

■<BGSOUND>

■<LINK>

■<META>

■<TABLE>

■<DIV>

■<IFRAME>

■<FRAMESET>

■<STYLE>

■<OBJECT>

■ ......

● 常用触发事件

■ oninput

■ onload

■ oncut

■ onclick

■ onerror

■ onmouseover

■ onfocus

■ onblur

■ poster

■ onscroll

■......

● 常用恶意代码

■ prompt

■ confirm

■ alert

■ javascript

■ eval

■ expression

■ window.location

■......

斗哥只给出部分常见的js代码,有兴趣的同学,自行查阅资料,将其补全,因为比赛是瞬息万变的,偶尔也会出现一些比较偏门的也不一定。

如图,可以很明显地发现红色框中有很明显的js恶意执行代码,如<script>标签、alert语句,但是由于apache日志的特性,如果是通过Post请求,则无法准确判断出是否存在XSS跨站脚本攻击

恶意文件上传:

通常存在于upload、file等出现类似字样的文件,均可能存在恶意文件上传,具体还需结合日志进行判断,一般是判断后续是否有出现Webshell等一些可以的web操作,可通过查看下图,发现在file.php页面的前后日志中,有存在一个带着日期的php页面,很可能就是利用file.php上传的文件,服务器自动生成名字,因此判断此处可能存在恶意文件上传。

一般地,如果Post请求的数据未被显示出来,则需要我们通过访问的链接以及上下文的访问详情确认此处是否存在恶意文件上传

一句话木马(Webshell):

一般名字可疑的文件,如带日期字样的页面(.php、.asp、.aspx、.ash、.jsp等)、一串随机值的页面等,并且是通过Post请求,同时会返回一定的数据,此时可判断可能存在一句话木马、webshell等恶意文件,有些日志可能还有post请求参数,可结合参数,更准确地判断出是否存在一句话木马、webshell等恶意文件。

访问频率分析

访问频率分析:不难理解,就是通过查看攻击者访问的频率来判断攻击者使用的是哪一种攻击。

常见的类型有有以下:SQL盲注、敏感目录爆破、账号爆破、Web扫描

SQL盲注:

一般访问比较有规律,基本都包含SQL语句,并且大体都相似,有个别字符不同,具体情况可参考下图:

不难发现,上图中语句中除了包含SQL语句外,并且最后几个字符不同,其他都是一致的,因此可推测出此处为SQL盲注

敏感目录爆破:

一般会有大量的探测目录,一般以Head方法为主进行探测,具体情况可参考下图:

发现在上图中,存在大量的HEAD请求方法,并且基本访问的页面返回的状态码为404

账号爆破:

通常都是对一个登录页面进行大量post请求,并且返回值基本相似,具体情况可参考下图:

从上图可以很容易看出,明显是个登录页面,并且访问频率较高,都是通过post方法进行请求,访问值均一样,幸运的是此处出现了一个302状态码,说明攻击者已经爆破到账号密码了,故可判断此处应该为账号爆破。

 

参照:https://cloud.tencent.com/developer/article/1424498

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!