pikachu靶场-Sql Inject(SQL注入)-http头注入 – 作者:知非知非知非

手控制不住,点提示;

1627258137_60fdfd19531b6ce87431c.png!small

先登录一下,再说!!!

1627258142_60fdfd1e83807c616f1a4.png!small

看这个界面一共有两个操作:登录和退出!!!!

咱们先用BURP分别抓下包再说!!!

当我觉得应该是登录操作,因为回显信息,显示我的USER AGENT和 HTTP ACCEPT都被记录,证明这些信息,已被成功传入!!!!下面,我就被打脸了!!!

首先,我们试着在 User-agent后加入单引号,进行查看回显!!

1627258165_60fdfd358a3a426aa091c.png!small

但是回显,有问题啊,回显是302,重定向!!!看大佬的WP,看注入过程发生在退出的过程中,但是记录HTTP头信息,不是在登录的过程中会记录HTTP头部信息吗?我的理解可能有问题!!!所有咱们看源代码吧!!!

首先查看sqli_header_login.php:

1627258173_60fdfd3d6b4302dd787ef.png!small

该代码对登录的用户名和密码进行传递,并转义,防止SQL注入,并根据用户名和密码信息生成cookie,供其他页面判断,接着重定向到sqli_header.php界面,这里我们看到这个php界面并没有对HTTP头信息进行收集和处理,所以HTTP头注入,并不发生在这个页面当中。

接着我们查看sqli_header.php的源代码!!!

1627258179_60fdfd437090693a77c02.png!small

未对记录的HTTP头信息,进行转义,存在SQL注入漏洞!!!

根据对源代码的分析,只有退出是才会触发sqli_header.php文档,我们这时,就可以使用BURP进行抓包,并进行HTTP头注入!!!

1627258191_60fdfd4f7c7274bcc355d.png!small

我们把这个报文发送到REPEATER,尝试哪个HTTP头字段存在注入点!!!!

Host没有报错!!!

1627258199_60fdfd57addb659f5d2d3.png!small

User-agent报错!!!

1627258205_60fdfd5db761ec830b784.png!small

1627258211_60fdfd63973718d793eba.png!small

通过报错语句 ‘ or updatexml(1,concat(0x7e,database()),0) or’,成功爆出数据库!!!

1627258229_60fdfd75e30af9fa4afc4.png!small

1627258237_60fdfd7d567a91dab2af1.png!small

accept报错!!!

1627258266_60fdfd9af3ef8a430636d.png!small

1627258274_60fdfda274636c4e28cec.png!small

Accept-Language没有报错!!!!

1627258284_60fdfdac12fafad59a98a.png!small

这里的COOKIE中的uname和pw字段后面,实际上也是可以报错的!!!!也是存在注入点的!!1

BINGO,完成!!!!

1627258292_60fdfdb4813c29d62bdf2.png!small

1627258302_60fdfdbe29f8551849551.png!small

来源:freebuf.com 2021-07-26 08:13:10 by: 知非知非知非

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论