渗透测试 |记一次黑入盗号网站后台

某学校群聊又有人被骗了,发了类似这样的内容,点进去一看就是伪装成QQ邮箱或者QQ空间后台的网站,骗取QQ号码。

随便填写账号密码后,有一个假的学籍查询表单,让你填一些敏感信息啥的(黑入后台后发现居然真有人写了,汗)。突然心生一意:要不试试SQL注入看看?

1

过程

1、分析后台接口

直接浏览器F12,点开网络,然后随便输个账号密码,点登录,就抓到登录接口了。

负载payload里可以看到请求的参数为u、p、step三个参数,此处图片就不展示了。

在这里插入图片描述

2、利用apipost或者postman,尝试对后台进行SQL注入:

设置u为‘and 1=1 即出现select的报错提示:

在这里插入图片描述

再设置为’and 1=1 #10086,此时出现insert插入失败的提示

看来后台是先select一遍数据库确定该用户此前不存在,再insert到数据库里的。从insert内容可以看出会记录ip和地址等信息,因此单ip下发送大量垃圾信息也可以轻松过滤掉。

3.既然有个select 那自然有很大的操作空间

关于如何注入,可以看:(SQL注入实战之报错注入篇(updatexml extractvalue floor)_bckBCK的博客-CSDN博客_updataxml报错注入

SQL注入之PHP+Mysql - Byskkip - 博客园 (cnblogs.com)

SQL注入-攻入Apple ID钓鱼网站实录 - msp的昌伟哥哥 - 博客园 (cnblogs.com)

我使用以下SQL注入套取信息(替换用户名参数如下):

’ and updatexml(1,concat(0x7e,(select database()),0x7e),1) – 1008611

以上这条可以套取到database()的信息,套取出来结果是d149

在这里插入图片描述

同理替换select database()为其他语句可以套出MySQL版本信息,本人套出来为5.6

在这里插入图片描述

根据此前套出来的select和insert语句还可以套出来cc_users表中的其他信息,操作如下:

' and updatexml(1,concat(0x7e,(select group_concat(username) from d149.cc_users),0x7e),1) -- 1008611  

需要使用concat语句连接查询结果,否则会因为子查询的row数量>1而报错。或者使用limit语句,一个一个的套出来也可以。

我尝试使用drop table cc_users.报错。

注意默认情况下能套出来的信息长度有限制,不能直接全部套出来,只能套一点点。

只有这些内容当然没什么用,我打算用SET语句

SET GLOBAL group_concat_max_len = 10240  

修改concat语句默认的长度,但是报错。

尝试获取information_shcema.tables或information_schema.columns,来套取其他表或其他列的信息,结果请求不响应了,看来后台有防备啊。

4.重磅的来了:群里有位大佬直接套出了整个网站的源代码

怎么套的?直接原网站后面加上某个神秘数字.rar,下载下来就是源码…

结构大概如下:

其中有几个重要文件:

1.根目录login.php wap文件夹下的login.php

伪造的登录页面。里面可以直接看到后台所执行的SQL语句。

2.config文件夹下的_config.php文件

在这里插入图片描述

包括数据库名称设置,用户名设置,密码设置,可以看到数据库表的前缀为cc_

3.重点之一:通过搜索cc_users关键字,找到了数据库备份所在的文件夹:config/sbak/bdata,其下有一个文件夹,内部居然是全部的数据库备份!完整的数据库建表SQL赫然在内。

分析可知管理员表名称为cc_admins,内有f_userName,f_psw两个字段,分别对应账号、密码。还有一个f_userPwd,应该是密码MD5加密后的结果。

4.重点来了

通过搜索admin关键词,锁定了以下文件:
d141/admin.php

这就是整个系统的后台

直接在浏览器里域名+d141/admin.php,报了404?

考虑到此前套出来数据库名字为d149,访问域名+d149/admin.php,成功进入后台登录页面!

5.套取管理员账号和密码

此前通过分析源码已经得知管理员表名称和结构,直接通过以下SQL套取关键信息:

' and updatexml(1,concat(0x7e,(select group_concat(f_userName) from d149.cc_admins),0x7e),1) -- 1008611  
  
' and updatexml(1,concat(0x7e,(select group_concat(f_psd) from d149.cc_admins),0x7e),1) -- 1008611  
  
' and updatexml(1,concat(0x7e,(select group_concat(f_userPwd) from d149.cc_admins),0x7e),1) -- 1008611  

套取出来的信息居然和前面数据库备份的信息一模一样。(userPwd由于过长,后面有个字母f没套出来)

直接利用用户名和密码,成功进入后台:

在这里插入图片描述

后台可以直接看到数据库中的内容,由于此前已经被我删库过一轮,所剩信息已经不多。

但是可以看到仍然有几位同学上当受骗,甚至填写了自己包括自己父母的真实信息,包括手机号,没删库前这样的信息大概有一百多条。

点击删除按钮,就删除了一条记录

那肯定不能这样一条一条点呀,能不能SQL注入呢?答案是可以。

F12查看网络,可以发现删除的url如下:

/users.php?act=delete&user_id=1234

GET请求,可以直接在浏览器中输入

分析源代码中相关语句

直接后面拼接上or 1=1

变成
/users.php?act=delete&user_id=1234 or 1=1

浏览器地址栏中输入,回车,可以看到整个资料已经全部被清空

在这里插入图片描述

(浏览器会自动把空格转为%20)

后台还可以进行修改密码、设置网页标题等操作。

在这里插入图片描述

在这里插入图片描述

改密码什么的事情就不干了,就这样吧。尝试ssh连接后台linux服务器,尝试mysql远程连接数据库均失败。

最后决定就SQL注入删库就好了,其他事就不干了。

2

后记

希望大家提升安全意识,不要在来历不明的网站随便输入自己的真实信息!尤其是QQ群里发的一些什么教务处通知啥的,千万不要点击。

即使有这种网站,一定要检查是否官方网站,是否https,是否境外网站(可以去站长之家等查询网站的信息),一般这种网站的域名都是奇奇怪怪的,并且IP都位于海外。

盗号网站源码不放出,以免有人利用源码祸害更多人。

SQL注入这种操作在Java的ORM框架下(mybatis等)基本失效,但是仍然是一个值得关注的安全问题,稍有不慎就会被套出全部信息,平时一定要注意。

最后给盗号网站的一句话:

你用的CN域名,可以直接查到你的姓名。还能查到你名下其他的域名。
请立即停止你的行为,既然是CN域名必然备案,你应该也知道这样做的后果。希望不要等落网了才知道后悔!

网络安全学习资源分享:

给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包,需要点击下方链接即可前往获取

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

图片

同时每个成长路线对应的板块都有配套的视频提供:

图片

学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。
在这里插入图片描述

面试刷题

在这里插入图片描述

视频配套资料&国内外网安书籍、文档

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料

图片
所有资料共282G,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,可以扫描下方二维码或链接免费领取~

读者福利 | CSDN大礼包:《网络安全入门&进阶学习资源包》免费分享 (安全链接,放心点击)

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值