![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
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 · 257 阅读 · 2 评论 -
sql预编译
一.数据库预编译起源:数据库接受sql语句,需要解析和制定执行,中间需要花费一段时间.有时候同一语句可能会多次执行, 那么就会造成资源的浪费如何减少编译执行的时间 ? 就有了预编译,预编译是将这类语句提前用占位符替代,一次编译,多次执行.预编译后的执行代码会被缓存下来,下次调用就不需要编译了,省去解析优化如何实现 ? 通过PreparedStatement和占位符来实现的。二.预编译的作用1.优化sql语句的执行,提升性能2.防止sql注入: 使用预编译,其后注入的参数将不会再用sql编译原创 2020-12-28 17:48:33 · 430 阅读 · 0 评论 -
php操作mysql数据库
phpmyadminphpadmin是一个mysql图形化管理工具,是一款实用php开发的mysql苦户端软件,基于web跨平台的管理系统,支持简体中文,官网:www.phpmyadmin.net可以下载免费最新版。提供图形化操作界面,完成对mysql的操作本地搭建后,浏览器输入localhost/phpadmin 可进入操作较简单网上资料也有很多就不赘述了重点介绍一下php操作mysq数据库的函数php操作mysql数据库1.mysqlconnect()函数链接mysql服务器:语法:原创 2020-12-13 13:35:11 · 451 阅读 · 0 评论 -
mysql常规使用(建立,增删改查,视图索引)
目录1.数据库建立2.增删改查3.视图建立:1.数据库建立mysql>mysql> show databases;+-----------------------------------+| Database |+-----------------------------------+| information_schema || challenges原创 2020-12-13 10:33:01 · 170 阅读 · 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 · 686 阅读 · 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 · 682 阅读 · 0 评论 -
sqli-lab————Writeup(18~20)各种头部注入
less18 基于错误的用户代理,头部POST注入adminadmin登入成功(进不去重置数据库)显示如下有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 · 225 阅读 · 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 · 155 阅读 · 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 · 228 阅读 · 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 · 175 阅读 · 0 评论 -
sqlilab--writeup (5~6) 布尔盲注
1.# 和 – (有个空格)表示注释,可以使它们后面的语句不被执行。在url中,如果是get请求**(记住是get请求,也就是我们在浏览器中输入的url)** ,解释执行的时候,url中#号是用来指导浏览器动作的,对服务器端无用。所以,HTTP请求中不包括#,因此使用#闭合无法注释,会报错;而使用-- (有个空格),在传输过程中空格会被忽略,同样导致无法注释,所以在get请求传参注入时才会使用–+的方式来闭合,因为+会被解释成空格。.2.当然,也可以使用–%20,把空格转换为urlencode编码格式.原创 2020-12-07 21:46:35 · 228 阅读 · 0 评论