zoukankan      html  css  js  c++  java
  • 加了料的报错注入(实验吧)

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

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

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

  • 相关阅读:
    TCP握手建立与释放连接
    Oracle Golden Gate概要
    Hadoop Spark 基础教程
    #npm install# MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 "4.0"。
    MySQL5.7 不同操作系统下的主从配置
    MongoDB authentication failed
    maven相关基础
    一次失败的定点漏洞挖掘之代码审计宜信Davinci
    记一次在tp5代码执行下的pcntl_exec瞎操作
    【CVE-2020-1957】shiro搭配spring时身份验证绕过漏洞分析
  • 原文地址:https://www.cnblogs.com/s1ye/p/8284806.html
Copyright © 2011-2022 走看看