热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

加了料的报错注入(实验吧)

刚学到了一种新的注入方法,在此记录分享以便加深记忆。是实验吧里的一道sql注入题,在本文中,用两种方法来解这道题:1.HPF(HTTPParameterFragment)2.exp()

刚学到了一种新的注入方法,在此记录分享以便加深记忆。

是实验吧里的一道sql注入题,在本文中,用两种方法来解这道题:

1.HPF(HTTP Parameter Fragment)

2.exp()报错注入

先来说HPF(http分割注入),首先看这道题 题目地址

 

查看源码我们发现:

 

根据题目要求,应该是post注入,然而没有登陆框,我们先通过hackbar按照要求传入username和password参数试试。

提示login failed ,说明我们的思路是没错的,接下来就是在这两个参数中寻找输入点,分别试了username=1'&password=1和username=1&password=1',发现都报错,说明这两个参数都存在注入点。接下来经过简单的测试发现,该题过滤了#-:=字符,接下来尝试哪些报错函数可用,发现当username参数后面加括号时提示User name unknow error,而password参数后加括号则提示Login failed。说明username参数过滤了(),且username参数后报错注入的函数并没有过滤,而在password参数后面只能执行exp()函数。所以我们首先通过http分割注入的方法来解这道题(由于我的hackbar有问题我就转移到burp中来做了)

查询数据库发现名字为 error_based_hpf ,说明作者的意图就是要求利用http分割注入。接下来就是查询表,字段,和flag了。由于过滤了 “=”,所以我们采用正则的方式来绕过,即利用regexp。

 

 利用exp()进行报错注入:

由于该题要利用正则来代替“=”,所以作者并没有过滤掉exp()函数,因此导致我们可以在password参数后直接利用exp()函数进行getflag。具体就不多说了,直接看结果。

看别人的wp学习了新的姿势,其实还可以利用盲注getflag,但是由于本题过滤了substr,mid等等截取字符串的函数,所以只能用正则regexp配合$从后向前盲注,比较麻烦我就不说了。

希望有一天成为自己想成为的人,共勉。

 


推荐阅读
author-avatar
彩红症-患者
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有