网站后台安全

本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记

前文链接

  1. WAMP/DVWA/sqli-labs 搭建
  2. burpsuite工具抓包及Intruder暴力破解的使用
  3. 目录扫描,请求重发,漏洞扫描等工具的使用
  4. 网站信息收集及nmap的下载使用
  5. SQL注入(1)——了解成因和手工注入方法
  6. SQL注入(2)——各种注入
  7. SQL注入(3)——SQLMAP
  8. SQL注入(4)——实战SQL注入拿webshell
  9. Vulnhub靶机渗透之Me and My Girlfriend
  10. XSS漏洞
  11. 文件上传漏洞
  12. 文件上传绕过
  13. 文件包含漏洞
  14. Vulnhub靶机渗透之zico2
  15. 命令执行漏洞
  16. 逻辑漏洞(越权访问和支付漏洞)

介绍

很多网站都存在后台管理功能,通过后台管理,网站的拥有者可以方便地对网站进行管理,修改网站的内容。但如果网站后台的管理权限落到了黑客的手里,就可能造成网站内容被破坏,数据被删除,甚至拿下WebShell和服务器的控制权。

60%以上的WebShell都是通过网站后台拿下的。

某些功能强大的网站后台(如DedeCMS),提供了文件管理,内容管理,数据库管理等功能。某些后台功能相对较弱的后台,只能进行网站内容的增删改查。

但如果黑客可以控制网站后台,那么网站就不是一个安全的网站,所以一定要注意网站后台安全。

管理

当你拿下了某个网站的控制权,但却无法拿下WebShell时,你会想将这个网站后台保存下来快速访问,所要保存的内容是一个URL,Username,Password。很多人会选择使用记事本或其他形式的文件保存,在市面上没有统一的后台工具。

我先前写过一个后台的管理工具,可以进行管理
网站后台安全_第1张图片
具体的代码和安装参照:基于PyQt的网站后台工具

登录安全

网站的后台管理功能大多数都需要进行登录验证,其中存在很多登录方面的安全需要重视

弱口令

很多网站都存在弱口令登录漏洞,如果一个网站存在弱口令,就可以让攻击者随意登录。

弱口令在生活中也很常见,例如很多人在注册新账号时会将密码注册为123456

有可能你在渗透中,通过各种方法来获取登录密码失败后,心如死灰地输入了Password,竟登录成功。

我先前在一次后台登录时,随意输入了
admin:password
就成功登录了后台。

在这里列举一些常用的弱口令

username

root
admin
admin888
administrator
superadmin

password

root
123456
12345678
qwerty
abcdefg
admin
password
admin123
admin123456
admin888
000000
123456abc
abc123456

在渗透中,第一步就是尝试弱口令,如果真的存在弱口令,会使网站的渗透过程变得简单。

万能密码

这里有和SQL注入相关的知识点

某网站后台的登录界面需要用户输入账号密码,并提交到数据库检验

当你按下登录界面后,后台的处理可能是这样的

$username=$_POST['username'];
$password=$_POST['password'];
$sql="select count(*) from admin 
where username='$username' and password='$password'";

假如正确的账号密码是admin:admin

如果用户输入错误,就无法查询结果,无法成功登录

但如果黑客输入账号为 ' or '1'='1' --+
那么查询的SQL语句就变为

select count(*) from admin 
where username='' or '1'='1' --+' and password='';

此时username的内容为空,但检验后面or的内容是正确的,同时–+直接将后面的内容注释掉,从而成功登录

弱口令登录的核心就是绕过检测,注释代码

更多万能密码可以参照https://blog.csdn.net/dyw_666666/article/details/89517602

SQL注入

SQL注入和后台登录有什么关系?

本来我也觉得没有什么关系,实际上这也不是我们这里的主题,但我还是想拉出来讲一讲。

BeesCMS的后台登录位置存在报错注入漏洞,可以通过报错注入得到后台账号密码。

具体的操作在网上有很多,可以自行查阅。

提权

后台提权这个话题 ,我在刚学安全的时候是我很大的难题,拿下的后台一大堆,WebShell一个都没有。

当你拿下了一个网站后台,你最想干的肯定是提权WebShell。

后台常用的提权方法:

  1. 文件上传拿WebShell
  2. 代码执行反弹连接
  3. 数据库备份拿WebShell
  4. 插入图片马包含WebShell
  5. 数据库导出WebShell
  6. 修改模板文件拿WebShell
  7. 修改网站内容拿WebShell
  8. 修改配置文件拿WebShell
  9. 编辑器漏洞拿WebShell

其中1,3,4已经在前文进行过讲解,这里讲解8

修改配置文件

很多网站都有网站配置,可以修改网站配置文件,尤其是网站允许上传的文件类型。

网站只允许上传后缀为jpg,png,gif的文件,在配置文件中也不允许出现asp的后缀。

此时虽然无法上传asp文件,但可以上传cer文件

把WebShell的内容保存在cer文件中,然后通过bp发到服务器,访问cer文件即可成功拿shell

防范

  1. 防止越权访问漏洞
  2. 严格的文件上传检测
  3. 防止SQL注入和XSS漏洞
  4. 使用登录密匙,不保存在数据库中

你可能感兴趣的:(安全,安全,数据库)