本专栏是笔者的网络安全学习笔记,一面分享,同时作为笔记
很多网站都存在后台管理功能,通过后台管理,网站的拥有者可以方便地对网站进行管理,修改网站的内容。但如果网站后台的管理权限落到了黑客的手里,就可能造成网站内容被破坏,数据被删除,甚至拿下WebShell和服务器的控制权。
60%以上的WebShell都是通过网站后台拿下的。
某些功能强大的网站后台(如DedeCMS),提供了文件管理,内容管理,数据库管理等功能。某些后台功能相对较弱的后台,只能进行网站内容的增删改查。
但如果黑客可以控制网站后台,那么网站就不是一个安全的网站,所以一定要注意网站后台安全。
当你拿下了某个网站的控制权,但却无法拿下WebShell时,你会想将这个网站后台保存下来快速访问,所要保存的内容是一个URL,Username,Password。很多人会选择使用记事本或其他形式的文件保存,在市面上没有统一的后台工具。
我先前写过一个后台的管理工具,可以进行管理
具体的代码和安装参照:基于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注入和后台登录有什么关系?
本来我也觉得没有什么关系,实际上这也不是我们这里的主题,但我还是想拉出来讲一讲。
BeesCMS的后台登录位置存在报错注入漏洞,可以通过报错注入得到后台账号密码。
具体的操作在网上有很多,可以自行查阅。
后台提权这个话题 ,我在刚学安全的时候是我很大的难题,拿下的后台一大堆,WebShell一个都没有。
当你拿下了一个网站后台,你最想干的肯定是提权WebShell。
后台常用的提权方法:
其中1,3,4已经在前文进行过讲解,这里讲解8
很多网站都有网站配置,可以修改网站配置文件,尤其是网站允许上传的文件类型。
网站只允许上传后缀为jpg,png,gif的文件,在配置文件中也不允许出现asp的后缀。
此时虽然无法上传asp文件,但可以上传cer文件
把WebShell的内容保存在cer文件中,然后通过bp发到服务器,访问cer文件即可成功拿shell