网站后台安全

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

前文链接

  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。很多人会选择使用记事本或其他形式的文件保存,在市面上没有统一的后台工具。

我先前写过一个后台的管理工具,可以进行管理
在这里插入图片描述
具体的代码和安装参照:基于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. 使用登录密匙,不保存在数据库中

热门文章

暂无图片
编程学习 ·

Java输出数组的内容

Java输出数组的内容_一万个小时-CSDN博客_java打印数组内容1. 输出内容最常见的方式// List<String>类型的列表List<String> list new ArrayList<String>();list.add("First");list.add("Second");list.add("Third");list.ad…
暂无图片
编程学习 ·

母螳螂的“魅惑之术”

在它们对大蝗虫发起进攻的时候&#xff0c;我认认真真地观察了一次&#xff0c;因为它们突然像触电一样浑身痉挛起来&#xff0c;警觉地面对限前这个大家伙&#xff0c;然后放下自己优雅的身段和祈祷的双手&#xff0c;摆出了一个可怕的姿势。我被眼前的一幕吓到了&#xff0c;…
暂无图片
编程学习 ·

疯狂填词 mad_libs 第9章9.9.2

#win7 python3.7.0 import os,reos.chdir(d:\documents\program_language) file1open(.\疯狂填词_d9z9d2_r.txt) file2open(.\疯狂填词_d9z9d2_w.txt,w) words[ADJECTIVE,NOUN,VERB,NOUN] str1file1.read()#方法1 for word in words :word_replaceinput(fEnter a {word} :)str1…
暂无图片
编程学习 ·

HBASE 高可用

为了保证HBASE是高可用的,所依赖的HDFS和zookeeper也要是高可用的. 通过参数hbase.rootdir指定了连接到Hadoop的地址,mycluster表示为Hadoop的集群. HBASE本身的高可用很简单,只要在一个健康的集群其他节点通过命令 hbase-daemon.sh start master启动一个Hmaster进程,这个Hmast…
暂无图片
编程学习 ·

js事件操作语法

一、事件的绑定语法 语法形式1 事件监听 标签对象.addEventListener(click,function(){}); 语法形式2 on语法绑定 标签对象.onclick function(){} on语法是通过 等于赋值绑定的事件处理函数 , 等于赋值本质上执行的是覆盖赋值,后赋值的数据会覆盖之前存储的数据,也就是on…
暂无图片
编程学习 ·

Photoshop插件--晕影动态--选区--脚本开发--PS插件

文章目录1.插件界面2.关键代码2.1 选区2.2 动态晕影3.作者寄语PS是一款栅格图像编辑软件&#xff0c;具有许多强大的功能&#xff0c;本文演示如何通过脚本实现晕影动态和选区相关功能&#xff0c;展示从互联网收集而来的一个小插件&#xff0c;供大家学习交流&#xff0c;请勿…
暂无图片
编程学习 ·

vs LNK1104 无法打开文件“xxx.obj”

写在前面&#xff1a; 向大家推荐两本新书&#xff0c;《深度学习计算机视觉实战》和《学习OpenCV4&#xff1a;基于Python的算法实战》。 《深度学习计算机视觉实战》讲了计算机视觉理论基础&#xff0c;讲了案例项目&#xff0c;讲了模型部署&#xff0c;这些项目学会之后可以…
暂无图片
编程学习 ·

工业元宇宙的定义与实施路线图

工业元宇宙的定义与实施路线图 李正海 1 工业元宇宙 给大家做一个关于工业元宇宙的定义。对于工业&#xff0c;从设计的角度来讲&#xff0c;现在的设计人员已经做到了普遍的三维设计&#xff0c;但是进入元宇宙时代&#xff0c;就不仅仅只是三维设计了&#xff0c;我们的目…
暂无图片
编程学习 ·

【leectode 2022.1.15】完成一半题目

有 N 位扣友参加了微软与力扣举办了「以扣会友」线下活动。主办方提供了 2*N 道题目&#xff0c;整型数组 questions 中每个数字对应了每道题目所涉及的知识点类型。 若每位扣友选择不同的一题&#xff0c;请返回被选的 N 道题目至少包含多少种知识点类型。 示例 1&#xff1a…
暂无图片
编程学习 ·

js 面试题总结

一、js原型与原型链 1. prototype 每个函数都有一个prototype属性&#xff0c;被称为显示原型 2._ _proto_ _ 每个实例对象都会有_ _proto_ _属性,其被称为隐式原型 每一个实例对象的隐式原型_ _proto_ _属性指向自身构造函数的显式原型prototype 3. constructor 每个prot…
暂无图片
编程学习 ·

java练习代码

打印自定义行数的空心菱形练习代码如下 import java.util.Scanner; public class daYinLengXing{public static void main(String[] args) {System.out.println("请输入行数");Scanner myScanner new Scanner(System.in);int g myScanner.nextInt();int num g%2;//…
暂无图片
编程学习 ·

RocketMQ-什么是死信队列?怎么解决

目录 什么是死信队列 死信队列的特征 死信消息的处理 什么是死信队列 当一条消息初次消费失败&#xff0c;消息队列会自动进行消费重试&#xff1b;达到最大重试次数后&#xff0c;若消费依然失败&#xff0c;则表明消费者在正常情况下无法正确地消费该消息&#xff0c;此时…
暂无图片
编程学习 ·

项目 cg day04

第4章 lua、Canal实现广告缓存 学习目标 Lua介绍 Lua语法 输出、变量定义、数据类型、流程控制(if..)、循环操作、函数、表(数组)、模块OpenResty介绍(理解配置) 封装了Nginx&#xff0c;并且提供了Lua扩展&#xff0c;大大提升了Nginx对并发处理的能&#xff0c;10K-1000K Lu…
暂无图片
编程学习 ·

输出三角形

#include <stdio.h> int main() { int i,j; for(i0;i<5;i) { for(j0;j<i;j) { printf("*"); } printf("\n"); } }
暂无图片
编程学习 ·

stm32的BOOTLOADER学习1

序言 最近计划学习stm32的BOOTLOADER学习,把学习过程记录下来 因为现在网上STM32C8T6还是比较贵的,根据我的需求flash空间小一些也可以,所以我决定使用stm32c6t6.这个芯片的空间是32kb的。 #熟悉芯片内部的空间地址 1、flash ROM&#xff1a; 大小32KB&#xff0c;范围&#xf…
暂无图片
编程学习 ·

通过awk和shell来限制IP多次访问之学不会你打死我

学不会你打死我 今天我们用shell脚本&#xff0c;awk工具来分析日志来判断是否存在扫描器来进行破解网站密码——限制访问次数过多的IP地址&#xff0c;通过Iptables来进行限制。代码在末尾 首先我们要先查看日志的格式&#xff0c;分析出我们需要筛选的内容&#xff0c;日志…
暂无图片
编程学习 ·

Python - 如何像程序员一样思考

在为计算机编写程序之前&#xff0c;您必须学会如何像程序员一样思考。学习像程序员一样思考对任何学生都很有价值。以下步骤可帮助任何人学习编码并了解计算机科学的价值——即使他们不打算成为计算机科学家。 顾名思义&#xff0c;Python经常被想要学习编程的人用作第一语言…
暂无图片
编程学习 ·

蓝桥杯python-数字三角形

问题描述 虽然我前后用了三种做法&#xff0c;但是我发现只有“优化思路_1”可以通过蓝桥杯官网中的测评&#xff0c;但是如果用c/c的话&#xff0c;每个都通得过&#xff0c;足以可见python的效率之低&#xff08;但耐不住人家好用啊&#xff08;哭笑&#xff09;&#xff09…