博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通过sqli-labs学习SQL注入(3)
阅读量:7144 次
发布时间:2019-06-29

本文共 925 字,大约阅读时间需要 3 分钟。

补充的一些知识点

Less-7解锁的文件读写注入。

主要用到的函数和语句

  1. load_file(fileName):读取服务器上指定路径的文件,需要有读取权限,文件路径可以转为16进制
  2. LOAD DATA INFILEload data infile '/tmp/1.txt' ignore into table test character set gbk fields terminated by 't' lines terminated by 'n'将1.txt 导入到test表中,character set gbk字符编码为gbk,fields terminated by '\t'字段以\t结尾,每行以\n结尾
  3. SELECT ... INTO OUTFILE 'file_name':把数据写到文件里,比如插入一句话木马Select <?php @eval($_post[“mima”])?> into outfile "c:\xxx\test.php"

绕过addslashes():这个函数的功能是对一些符号进行转义,比如单引号双引号,可以通过编码绕过和宽字节绕过

过滤关键字,比如select union or and 等等

绕过思路:改变大小写 SeLecT uNiON,or、and改为||、&&;编码绕过16进制 url;添加注释/*or*/
Less-24接触到二次注入,先提交一个构造的数据让服务器接收,再通过第二次操作触发注入。例:先注册一个admin'#的账号,然后登陆该账号修改密码,这时候修改的就是admin的密码。sql语句:updata users set password="new_password" where username='admin'#' and .....

堆叠注入

简单的说就是多条sql语句注入,例子:...?id=1';select 1,2,3;
注意:oracle数据库不支持

后面的order by注入语法也差不多,主要就是各种防御方式的组合了,用到的手段其实都是最开始那几关提到的。SQL注入原理就大概了解到这里。下一篇用sqlmap来实战,熟悉sqlmap使用以及巩固注入原理。

转载地址:http://zvwgl.baihongyu.com/

你可能感兴趣的文章
正确编写Designated Initializer的几个原则
查看>>
iOS播放动态GIF图片
查看>>
获取版本号
查看>>
使用jdk自带的visualVM监控远程监控was
查看>>
集合视图UICollectionView 介绍及其示例程序
查看>>
JsLint 的安装和使用
查看>>
合并傻子//区间dp
查看>>
让IE和Chrome都以隐身模式启动
查看>>
MyPython-->进阶篇-->类
查看>>
unity remote 连接设置
查看>>
2018 NOIP备战计划
查看>>
教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
zw版【转发·台湾nvp系列Delphi例程】HALCON InpaintingCt2
查看>>
POJ2155 Matrix
查看>>
字符串匹配算法
查看>>
Eclipse 问题整理
查看>>
Java常用工具类之RegexpUtils,正则表达式工具类
查看>>
c# 利用反射 从json字符串 动态创建类的实例 并动态为实例成员赋值
查看>>
Kali Linux 优化过程
查看>>
关于图片处理的方法整理
查看>>