SQL注入学习
略
小冉要开心
上天给我开了另外一扇窗
展开
-
解决(1698, "Access denied for user 'root'@'localhost'")——MariaDB
在命令行直接用mysql就可以登录数据库,不用密码,但当使用mysql管理工具时提示Access denied for user 'root'@'localhost'造成这种错误的原因不唯一,仅列出我的问题sudo vim /etc/mysql/debian.cnf设置其中的password为你的passworduse mysqlupdate mysql.user set plugin...原创 2020-03-21 10:43:46 · 1037 阅读 · 0 评论 -
kali中提示No module named MySQLdb
在使用sqlmap直连数据库时python sqlmap.py -d "mysql://root:[email protected]:3306/test" -f --banner提示No module named MySQLdb我的环境是root@rane:/usr/share/sqlmap# uname -aLinux rane 5.3.0-kali2-amd64 #1 SMP D...原创 2020-03-21 10:36:47 · 674 阅读 · 0 评论 -
mssql注入学习(一)
权限探测select HOST_NAME(),@@SERVERNAME;利用and逻辑语句判断是否站库分离判断xp_cmdshell是否开启?存储过程中的xp_cmdshell可执行系统命令,是后续提权操作的主要方式,从MSSQL2005版本之后,默认关闭,如果xp_cmdshell权限没开启的话,我们可以执行下面命令开启首先判断xp_cmdshell是否开启,1为打开,0为关闭se...原创 2020-03-19 20:41:30 · 587 阅读 · 0 评论 -
SQLserver入门学习(二)
mysql中的limit与SQLserver中的topselect top 5 name from master..sysdatabases;筛选的是前五条信息select top 1 name from master..sysdatabases where name not in (select top 4 name from master..sysdatabases);查询出来...原创 2020-03-19 16:59:15 · 124 阅读 · 0 评论 -
二次注入的原理
二次注入的原理二次注入原理,主要分为两步第一步:插入恶意数据第二步:引用恶意数据第一步:输入参数1’,函数经过转义函数变成’,参数进入数据库存储还原为1’第二步:将1’从数据库中取出 取出后直接给变量带入SQL ,SQL注入触发二次注入的方法对sqlilabs的Less-24做部分修改,似的实验效果更明显第一步 修改users表中username字段的长度ALTER TABLE ...原创 2020-03-18 19:32:19 · 1166 阅读 · 0 评论 -
二次编码注入
原理:PHP代码中使用了urldecode()等编解码函数,放在了一个尴尬的使用位置,与PHP自身编码配合失误自己编写一个二次编码注入的代码<?php error_reporting(E_ALL ^ E_DEPRECATED); header("Content-Type: text/html; charset=utf-8"); $conn = mysql_connect('loca...原创 2020-03-18 17:25:32 · 609 阅读 · 0 评论 -
宽字节注入
宽字节注入原理宽字节注入方法以第32关为例,输入单引号后会经过check_addslashes函数替换数据库连接的时候使用的是gbk编码http://127.0.0.1/Less-32/?id=1%df’ order by 3–+三列http://127.0.0.1/Less-32/?id=-1%df’ union select 1,2,version()–+使用union查询需...原创 2020-03-18 17:17:45 · 280 阅读 · 0 评论 -
dnslog盲注原理
Dnslog盲注原理布尔盲注和时间盲注相当于猜单词的游戏,我们需要对每一位逐步的猜测,效率很低,需要发送很多的请求进行判断,很可能会触发安全设备的防护我们需要一种方式能够减少请求,直接回显数据——Dnslog注入Dns在解析的时候会留下日志,通过读取多级域名的解析日志,获取请求信息Dnslog盲注方法登录http://ceye.io/网站并注册,得到属于自己的identifier先尝试...原创 2020-03-18 15:32:06 · 1823 阅读 · 0 评论 -
SQL盲注——时间注入
时间盲注原理既不回显数据,也不回显错误信息,所以不能通过页面来判断是否存在SQL注入漏洞联合查询、报错查询和布尔盲注在此时就不起作用了例:在登录案例中,构造SQL语句,发送登录请求,让程序延时执行,判断信息构造逻辑语句,通过条件语句进行判断,为真则立即执行,为假则延时执行核心语法:if(left(user(),1)= ‘a’,0,sleep(3));时间盲注方法通过Less-10来进...原创 2020-03-18 14:27:27 · 96 阅读 · 0 评论 -
SQL注入——布尔盲注
盲注可以进行SQL注入,但是不能通过SQL注入漏洞看到数据库中的信息,但是可以通过真假判断数据库中的信息布尔盲注的方法:构造逻辑判断语句,判断信息的真假,取出所有的真值以Less-8为例还是老步骤,初步判断是否存在SQL注入漏洞http://127.0.0.1/Less-8/?id=1返回You are in…http://127.0.0.1/Less-8/?id=1’无返回可以初...原创 2020-03-18 13:54:35 · 246 阅读 · 0 评论 -
报错注入基础
报错注入原理怎么利用报错注入?让错误信息可以显示数据库中的内容接下来我们要用到1、floor()、group by对*rand()*函数进行操作时产生错误2、extractvalue()XPATH语法错误产生报错3、updatexml()XPATH语法错误产生报错报错注入方法floor()报错需要count(*),rand()、group by、floor()。如果单纯的se...原创 2020-03-18 13:01:22 · 111 阅读 · 0 评论 -
union联合查询
以Less-1为例查看源代码可以看到get到id后没有经过任何处理就放入到了后面的查询语句中,很明显存在SQL注入漏洞1、判断注入点利用’来初步判断是否可注入2、判断查询列数3OK,4报错,说明当前使用的表只有三列3、判断显示位使用union联合查询,需要使得前面的语句逻辑为假,且和前面的语句必须有相同数量的列,查看Less-1源代码可知,前面使用的是select *,且判...原创 2020-03-17 17:01:14 · 850 阅读 · 0 评论 -
MySQL注入中的一些储备知识
以Less-1为例Less-1中存在SQL注入的语句:$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";首先我们可以用id=1’来初步判断有没有SQL注入漏洞,出现了类似You have an error in your SQL syntax; check the manual that corresponds to your MySQL...原创 2020-03-17 14:10:45 · 85 阅读 · 0 评论 -
mysql手工注入语法(基础)
学习手工注入方法帮助我们学习和理解SQL注入原理mysql内置的information_schema,是mysql注入的基石查询数据核心语法查库select schema_name from information_schema.schemata;查表mysql> select table_name from information_schema.tables where tab...原创 2020-03-17 13:59:09 · 179 阅读 · 0 评论 -
SqlServer入门学习(一)
SQLServer数据库的查询语句查询数据库的版本select @@version;查询主机名select host_name();查询当前数据库名select db_name();查询当前数据库的拥有者select user;查询结果为 dbo。dbo是每个数据库的默认用户,具有所有者权限切换到test库use test查询前n条记录select top 3 * fro...原创 2020-03-17 13:49:14 · 763 阅读 · 1 评论 -
MySQL的常用函数
MySQL常用函数用户信息系统用户名mysql> select system_user();所有用户名mysql> select user();当前用户名mysql> select current_user();连接数据库的用户名mysql> select session_user();数据库信息数据库名mysql> select databa...原创 2020-03-16 17:34:05 · 115 阅读 · 0 评论 -
docker的基本使用(sqli-labs)
docker命令启动dockerservice docker start查找sqli-labs镜像docker search sqli-labs其中可能会出现镜像和网络配置的问题,复制错误去百度上搜就可以了选择一个镜像,拉取到本地docker pull acgpiano/sqli-labs查看已有的镜像docker images启动镜像docker run -dt --nam...原创 2020-03-16 13:50:12 · 817 阅读 · 0 评论