基础Web漏洞-SQL注入入门(手工注入篇)

时间:2020-07-29 10:10:44   收藏:0   阅读:94

一.什么是SQL注入

?SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL。而SQL注入是将Web页面的原URL、表单域或数据包输入的参数,修改拼接成SQL语句,传递给Web服务器,进而传给数据库服务器以执行数据库命令。如Web应用程序的开发人员对用户所输入的数据或cookie等内容不进行过滤或验证(即存在注入点)就直接传输给数据库,就可能导致拼接的SQL被执行,获取对数据库的信息以及提权,发生SQL注入攻击。本笔记环境为MySQL数据库。

二.MySQL基本增删查改语法

CREATE TABLE table_name(
#字段1 数据类型,
name VARCHAR(20),
id INT(8)
);

三.INFORMATION_SCHEMA库

经过上述三个语句 已经可以查询所有的表和字段信息 就可根据查询语句查询任意信息
栗子: select password,username from security.users; (查询security库中users表中所有password和username信息)

技术图片

四.MySQL注入常用函数

#
--+(浏览器常用)
/*/
/*!*/

五.常见的SQL注入类型

技术图片
根据提示 用GET方法提交ID参数
技术图片
改变URL 发现报错
技术图片
查看源码
技术图片
构造URL:http://127.0.0.1/sqli/Less-1/?id=1‘ and 1 = 1 --+(1=1 正常 1=2报错)
技术图片

六.常用的注入方式

  1. 使用order by语句进行列数的估计
    技术图片
    技术图片
    由此可以看出 列数为3列
  2. 使用union注入(union selectunion all select)
    技术图片
    根据前述数据库查询语句 查询有哪些数据库 表名 进而查询详细数据
    技术图片
  1. floor
    payload:?id=1‘ and (select 1 from (select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x)a)--+
    技术图片

技术图片


以上 就是一些常见的SQL注入知识点
评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!