sql
b1gpig安全
Debug the world.
展开
-
Xctf练习sql注入--supersqli
三种方法 方法一 =1 回显正常 =1’回显不正常,报sql语法错误 =1’ --+ 回显正常,说明有sql注入点,应该是字符型注入(# 不能用) =1’ order by 3 --+ 回显失败,说明有2个注入点 =1’ union select 1,2 --+ 回显显示过滤语句: =1’; show databases --+ 爆数据库名 =-1’; show tables --+ 绕过过滤,显示表下的列名 =1’;show columns from words --+ 尝试堆叠原创 2020-12-28 18:41:48 · 251 阅读 · 2 评论 -
sql预编译
一.数据库预编译起源: 数据库接受sql语句,需要解析和制定执行,中间需要花费一段时间. 有时候同一语句可能会多次执行, 那么就会造成资源的浪费 如何减少编译执行的时间 ? 就有了预编译,预编译是将这类语句提前用占位符替代,一次编译,多次执行. 预编译后的执行代码会被缓存下来,下次调用就不需要编译了,省去解析优化 如何实现 ? 通过PreparedStatement和占位符来实现的。 二.预编译的作用 1.优化sql语句的执行,提升性能 2.防止sql注入: 使用预编译,其后注入的参数将不会再用sql编译原创 2020-12-28 17:48:33 · 415 阅读 · 0 评论 -
php操作mysql数据库
phpmyadmin phpadmin是一个mysql图形化管理工具,是一款实用php开发的mysql苦户端软件,基于web跨平台的管理系统,支持简体中文,官网:www.phpmyadmin.net可以下载免费最新版。 提供图形化操作界面,完成对mysql的操作 本地搭建后,浏览器输入localhost/phpadmin 可进入 操作较简单网上资料也有很多就不赘述了 重点介绍一下php操作mysq数据库的函数 php操作mysql数据库 1.mysqlconnect()函数链接mysql服务器: 语法:原创 2020-12-13 13:35:11 · 443 阅读 · 0 评论 -
mysql常规使用(建立,增删改查,视图索引)
目录 1.数据库建立 2.增删改查 3.视图建立: 1.数据库建立 mysql> mysql> show databases; +-----------------------------------+ | Database | +-----------------------------------+ | information_schema | | challenges原创 2020-12-13 10:33:01 · 165 阅读 · 0 评论 -
sqli-lab——Writeup(38~over)堆叠等......
知识点: 1.堆叠注入原理(stacked injection) 在SQL中,分号(;)是用来表示一条sql语句的结束。试想一下我们在 ; 结束一个sql语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。 1.1与union查询区别 而union injection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者union all执行的语句类型是有限的,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句。 1.2使用实例 例如以下这个例子。用原创 2020-12-13 10:13:46 · 681 阅读 · 0 评论 -
sqli-lab——Writeup21~38(各种过滤绕过WAF和)
Less-21 Cookie Injection- Error Based- complex - string ( 基于错误的复杂的字符型Cookie注入) base64编码,单引号,报错型,cookie型注入。 本关和less-20相似,只是cookie的uname值经过base64编码了。 登录后页面: mV0L3dlaXhpbl80NTY5NDM4OA==,size_16,color_FFFFFF,t_70) cookie的地方显然是base64加密过的,解码得到:admin,就是刚才登陆的unam原创 2020-12-12 16:39:07 · 671 阅读 · 0 评论 -
sqli-lab————Writeup(18~20)各种头部注入
less18 基于错误的用户代理,头部POST注入 admin admin 登入成功(进不去重置数据库) 显示如下 有user agent参数,可能存在注入点 显示版本号: 爆库:User-Agent:'and extractvalue(1,concat(0x7e,(select database()),0x7e)) and ' 库名: less19基于头部的RefererPOST报错注入 抓包 admin登陆什么也没有 在referer后加单引号有回显sql语法错误 然后就和 18一样了:Ref原创 2020-12-10 20:23:06 · 216 阅读 · 1 评论 -
sqli-lab———writeup(11~17)
less11 用户名提交单引号显示sql语法错误,故存在sql注入 根据单引号报错,在用户名和密码任意行输入 万能密码:‘ or 1=1# 输入后username语句为:SELECT username, password FROM users WHERE username='' or 1=1; 双引号 password语句:Select * from admin where username='admin' and password='' or 1=1# 单引号 还有比如:1'union sel原创 2020-12-10 15:02:15 · 147 阅读 · 0 评论 -
sqli-lab--writeup(7~10)文件输出,时间布尔盲注
前置知识点: 1、outfile是将检索到的数据,保存到服务器的文件内: 格式:select * into outfile “文件地址” 示例: mysql> select * into outfile ‘f:/mysql/test/one’ from teacher_class; 2、文件是自动创建的。 3,读写文件函数调用的限制 因为涉及到在服务器上写入文件,所以上述函数能否成功执行受到参数 secure_file_priv 的影响。, 其中当参数 secure_file_priv 为空时,对导原创 2020-12-08 20:34:39 · 220 阅读 · 0 评论 -
基于GET报错的sql注入,sqli-lab 1~4
根据注入类型可将sql注入分为两类:数字型和字符型 例如: 数字型: sleect * from table where if =用户输入id 字符型:select * from table where id ='用户输入id' (有引号) 通过URL中修改对应的D值,为正常数字,大数字,字符(单引号,双引号,双单引号,括号),反斜杠\来探测URL中是否存在注入点。 另外-- (这里有一个空格,–空格)在SQL内表示注释,但在URL中,如果在最后加上-- ,浏览器在发送请求的时候会把URL末尾的空格原创 2020-08-08 22:46:27 · 170 阅读 · 0 评论 -
sqlilab--writeup (5~6) 布尔盲注
1.# 和 – (有个空格)表示注释,可以使它们后面的语句不被执行。在url中,如果是get请求**(记住是get请求,也就是我们在浏览器中输入的url)** ,解释执行的时候,url中#号是用来指导浏览器动作的,对服务器端无用。所以,HTTP请求中不包括#,因此使用#闭合无法注释,会报错;而使用-- (有个空格),在传输过程中空格会被忽略,同样导致无法注释,所以在get请求传参注入时才会使用–+的方式来闭合,因为+会被解释成空格。 . 2.当然,也可以使用–%20,把空格转换为urlencode编码格式.原创 2020-12-07 21:46:35 · 220 阅读 · 0 评论