前言:
由于信息收集内容比较丰富,包含的知识点比较多,算是很重要的一部分(和实操挂钩),小瑶还没整理好(其实还没太理清,可以收集的信息实在太多,而且收集信息的方法很多简直无法想象)
所以先接SQL注入往下写,信息收集等整理好在分享(当然关于信息收集部分,有好的资源可以分享一下哦)
<>
WEB漏洞:
SQL注入:
SQL 注入就是在用户输入的字符串中加入 SQL 语句,如果在设计不良的程序中忽略了检查,那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行,攻击者就可以执行计划外的命令或访问未被授权的数据。
a. 攻击者未经授权可以访问数据库中的数据,盗取用户的隐私以及个人信息,造成用户的信息泄露。
b. 可以对数据库的数据进行增加或删除操作,例如私自添加或删除管理员账号。
c. 如果网站目录存在写入权限,可以写入网页木马。攻击者进而可以对网页进行篡改,发布一些违法信息等。
d. 经过提权等步骤,服务器最高权限被攻击者获取。攻击者可以远程控制服务器,安装后门,得以修改或控制操作系统。
文件上传
如果 Web应用程序存在上传漏洞 , 攻击者甚至可以将一个webshell后门直接上传到服务器上
XSS(跨站脚本攻击):存储型 、反射型 、DOM型XSS
(https://www.cnblogs.com/csnd/p/11807592.html)
为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页面时,嵌入Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击
a. 窃取管理员帐号或Cookie,入侵者可以冒充管理员的身份登录后台。使得入侵者具有恶意操纵后台数据的能力,包括读取、更改、添加、删除一些信息。
b. 窃取用户的个人信息或者登录帐号,对网站的用户安全产生巨大的威胁。例如冒充用户身份进行各种操作
c. 网站挂马。先将恶意攻击代码嵌入到Web应用程序之中。当用户浏览该挂马页面时,用户的计算机会被植入木马
d. 发送广告或者垃圾信息。攻击者可以利用XSS漏洞植入广告,或者发送垃圾信息,严重影响到用户的正常使用
文件包含(可能含有文件包含的漏洞:inurl:php?file=)
a. 可浏览文件内容,web服务器的文件被外界浏览导致信息泄露
b. 脚本被任意执行,可能会篡改网站、执行非法操作、攻击其他网站
反序列化
远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码,被攻击者间接控制服务器
代码执行
a. 代码执行漏洞造成的原理是由于服务器端没有针对执行函数做过滤,导致在没有指定绝对路径的情况下就执行命令,可能会允许攻击者通过改变 $PATH 或程序执行环境的其他方面来执行一个恶意构造的代码。造成代码执行相关的函数分别是:eval、assert函数
b. 暴露服务器信息
c. 木马植入
d. 敏感文件暴露
e. 可能升级为命令执行
逻辑漏洞
a. 在提交订单的时候抓取数据包或者直接修改前端代码,然后对订单的金额任意修改。
b. 黑客只需要抓取Response数据包便知道验证码是多少或直接绕过
c. 有些业务的接口,因为缺少了对用户的登陆凭证的较验或者是验证存在缺陷,导致黑客可以未经授权访问这些敏感信息甚至是越权操作
d. 有些关键性的接口因为没有做验证或者其它预防机制,容易遭到枚举攻击
e. Cookie的效验值过于简单。有些web对于cookie的生成过于单一或者简单,导致黑客可以对cookie的效验值进行一个枚举
f. 单纯读取内存值数据来当作用户凭证
g. 用户修改密码时,邮箱中会收到一个含有auth的链接,在有效期内用户点击链接,即可进入重置密码环节。而大部分网站对于auth的生成都是采用rand()函数,那么这里就存在一个问题了,Windows环境下rand()最大值为32768,所以这个auth的值是可以被枚举的
未授权访问
敏感信息泄露
CSRF(用户请求伪造)
a. 以受害者名义发送邮件,发消息,盗取受害者的账号,甚至购买商品,虚拟货币转账,修改受害者的网络配置(比如修改路由器DNS、重置路由器密码)等等
b. 个人隐私泄露、机密资料泄露、用户甚至企业的财产安全
SSRF (服务器端请求伪造)
a. 可以对外网、服务器所在内网、本地进行端口扫描,获取一些服务的banner 信息
b. 攻击运行在内网或本地的应用程序
c. 攻击内外网的 web 应用,主要是使用 GET 参数就可以实现的攻击(如:Struts2,sqli)
d. 下载内网资源(如:利用file协议读取本地文件等)
e. 进行跳板
f. 无视cdn
g. 利用Redis未授权访问,HTTP CRLF注入实现getshell
目录遍历
攻击者通过访问网站某一目录时,该目录没有默认首页文件或没有正确设置默认首页文件,将会把整个目录结构列出来,将网站结构完全暴露给攻击者; 攻击者可能通过浏览目录结构,访问到某些隐秘文件(如PHPINFO文件、服务器探针文件、网站管理员后台访问地址、数据库连接文件等)
文件读取
通过任意文件下载,可以下载服务器的任意文件,web业务的代码,服务器和系统的具体配置信息,也可以下载数据库的配置信息,以及对内网的信息探测等等
命令执行
a. 继承Web服务程序的权限去执行系统命令或读写文件
b. 反弹shell
c. 控制整个网站甚至控制服务器
d. 进一步内网渗透
XXE:
a. 读取任意文件
b. 执行系统命令
c. 探测内网端口
d. 攻击内网网站
漏洞危害决定漏洞等级:
高危漏洞:SQL注入、文件上传、文件包含、代码执行、未授权访问、命令执行
影响:直接影响到网站权限和数据库权限,能够获取数据或者网站的敏感文件。涉及到数据安全和权限的丢失都为高危漏洞
中危漏洞:反序列化、逻辑安全
低危漏洞:XSS跨站、目录遍历、文件读取
影响:网站的源码,网站部分账号密码
漏洞重点内容
CTF:SQL注入、文件上传、反序列化、代码执行
SRC:图片上漏洞都能出现,逻辑安全出现比较多(补天)
红蓝对抗:涉及的高危漏洞,文件上传、文件包含、代码执行、命令执行
例题:sqli-labs-master【Less-2】
测试后:数字型,字段3(order by查字段,回显位2和3)库名:security
表名:
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=‘security’
查emails表里的字段名:
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name=‘emails’
查看字段id和email_id的所以内容:
http://127.0.0.1/sqli-labs-master/Less-2/?id=-1 union select 1,group_concat(id),group_concat(email_id) from emails
连接数据库验证:
show databases;
use security;
show tables;
select * from emails;
最后,大家可以自己搭建Pckachu和sqlilabs靶场尝试一下(可以在phpstudy上搭建,过程不复杂,搜搜教程应该可以解决)
此文章依据:https://www.yuque.com/samxara/swro13/wk5w9t