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


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

    是实验吧里的一道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配合$从后向前盲注,比较麻烦我就不说了。

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

  • 相关阅读:
    PHP面向对象之事务脚本模式
    PHP面向对象之页面控制器
    PHP面向对象之前端控制器模式
    oracle sql分页的写法示例
    PHP面向对象之注册表模式
    PHP面向对象之命令模式
    opencv中Mat类型数据操作与遍历
    Anisotropic gauss filter
    opencv 批量图像读写
    HSV颜色识别demo
  • 原文地址:https://www.cnblogs.com/s1ye/p/8284806.html
Copyright © 2020-2023  润新知