1.爆错注入 什么情况想能使用报错注入------------页面返回连接错误信息 常用函数 updatexml()if...floorextractvalue updatexml(,concat() 在concat查询语句后面添加一个标识符,如0x23 updatexml(,concat() 因为有的时候报错信息会设置长度限制,添加标识符可以避免显示不完全 获取数据库信息 http://10.1.2.5:10631/sqli/Less-1/?id=1' and updatexml(1,conc…
布尔盲注: import requests url = "http://challenge-f0b629835417963e.sandbox.ctfhub.com:10080/" def inject_database(url): name = '' for i in range(1,100000): low = 32 high = 128 mid = (low + high) // 2 while low < high: payload = "if(ascii(sub…
Natas17: 源码如下 /* CREATE TABLE `users` ( `username` varchar(64) DEFAULT NULL, `password` varchar(64) DEFAULT NULL ); */ if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect('localhost', 'natas17', '<censored>'); mysql_select_…
第八关: 没有查询信息,输入id=1' 报错 ,也没有报错信息,这里应该是个盲注 使用boolean的盲注吧 先判断boolean的盲注可行 输入id=1' and '1'='1' %23 页面正常 输入id=1' and '1'='2' %23 页面出错 有几个mysql内置的函数需要记住: length(str):返回str字符串的长度. substr(str, pos, len):将str从pos位置开始截取len长度的字符进行返回.注意这里的pos位置是从1开始的,不是数组的0开始 mi…
机缘巧合接触了一点关于sql注入的网络安全问题 依托 headers 的 sql 注入 一般来说大家都很清楚用户输入的危险性,通常会对用户表单提交的数据进行过滤(引号转码). 但是如果写过网络爬虫,那么就很清楚其实http的headers 也是由用户自己构造的,因此对一些从headers获取的变量就不能掉以轻心.比如<strongstyle="color:#890729;">userAgent, ip等. 这里有一个sql注入的题目:who are you? -- http…
/* 请为原作者打个标记.出自:珍惜少年时 */   通过该关卡的学习我掌握到了 1.如何灵活的运用mysql里的MID.ASCII.length.等函数 2.布尔型盲注的认识 3.哦,对了还有.程序是从0开始的,limit的时候要从0开始.{0,1}   该文就是布尔型盲注   盲注又分为了以下三种: 1.布尔型盲注:根据页面返回的真假来判断的即为布尔型盲注 2.时间型盲注:根据页面返回的时间来判断的即为时间型盲注 3.报错型盲注:根据页面返回的对错来判断的即为报错型盲注   FreeBuf的…
less-8 布尔盲注 首先利用?id=1' and 1=1 --+和?id=1' and 1=2 --+确定id的类型为单引号''包裹.然后进行盲注. 盲注思路: 破解当前数据库名: and length(database)=num 破解名字长度. and ascii(substr(database(), 1,1))=num 猜出每一个字母的ascii码.最后得到数据库的名字. 破解所有数据库名字 and (select count(*) from information_schema.sch…
开始挑战第九关(Blind- Time based- Single Quotes- String)和第十关( Blind- Time based- Double Quotes- String) gogogo! 这一关为时间盲注,需要用到的函数如下: 正常的测试语句视乎没有任何效果 那就直接用到函数来测试吧 使用firebug来查看网络延迟 通过上面的测试,确实存在时间盲注,那我们就利用盲注的sql语句加时间盲注继续进行注入,通过if条件真假返回的判断 这句话意思就是 如果条件成立,就停止5秒,否…
盲注定义: 有时目标存在注入,但在页面上没有任何回显,此时,我们需要利用一些方法进行判断或者尝试得到数据,这个过程称之为盲注. 布尔盲注: 布尔盲注只有true跟false,也就是说它根据你的注入信息返回true和false两个,而不是返回报错信息 时间盲注: 页面返回只有一种,true,不管输入任何信息,返回信息都会按照正常来处理,加入特定的时间函数,通过查看web页面返回的时间差来查看是否存在时间盲注或语句是否正确 布尔盲注常用 length() 函数 返回字符串的长度?id=1 and l…
开始挑战第十五关(Blind- Boolian Based- String)和 第十六关(Blind- Time Based- Double quotes- String) 访问地址,输入报错语句 '  ''  ')  ") -    ' and 1=1#  等使其报错 猜解字段名,这里是2个字段 union select联合查询,加入使其报错 使用报错函数也无用 使用时间函数试试,成功测试,存在时间盲注,注意,这里注释符--+不能使用,只能使用# 继续通过if语句进行猜解 后面怎么测试,参考G…
打开靶机 查看页面信息 测试时间盲注 可以看到在执行命令后会有一定时间的等待,确定为时间盲注 直接上脚本 1 #! /usr/bin/env python 2 # _*_ coding:utf-8 _*_ 3 import requests 4 import sys 5 import time 6 7 session=requests.session() 8 url = "http://challenge-e53e5a329b0199fa.sandbox.ctfhub.com:10080/?id…
0X01Oracle基于延时的盲注总结 0x00 前言 oracle注入中可以通过页面响应的状态,这里指的是响应时间,通过这种方式判断SQL是否被执行的方式,便是时间盲注: oracle的时间盲注通常使用DBMS_PIPE.RECEIVE_MESSAGE(),而另外一种便是decode()与高耗时SQL操作的组合,当然也可以是case,if 等方式与高耗时操作的组合,这里的高耗时操作指的是,例如:(select count(*) from all_objects),对数据库中大量数据进行查询或其…
1.布尔盲注burpsuit的使用 先自己构造好注入语句,利用burpsuit抓包,设置变量,查出想要的信息. 比如----查数据库名的ascii码得到数据库构造好语句 http://123.206.227.79/Less-8/?id=1' and ascii(sbustr(database(),1,1))=1 --+ 抓包,发送到intruder,设置变量 第一个变量设置为numbers 1到8,第二个变量也设置为numbers 0到127    开始爆破, 2.post注入 其实并没有什么变…
转自cdxy师傅:https://www.cdxy.me/?p=789 PWNHUB 一道盲注题过滤了常规的sleep和benchmark函数,引发对时间盲注中延时方法的思考. 延时函数 SLEEP mysql); +----------+ ) | +----------+ | +----------+ row in set (5.00 sec) BENCHMARK mysql,sha()); +----------------------------+ ,sha()) | +---------…
地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 这道题点开看见your ip is :xxx.xxx.xx.xxx 试了一些 最后发现是XFF注入 不过首先要进行ip伪造 X-Forwarded-For Client-IP x-remote-IP x-originating-IP x-remote-add 发现X-Forwarded-For可以伪造. 题目说: 我要把攻击我的人都记录db中去! 猜测这是一个INSERT INTO的注入.…
题目地址:http://ctf5.shiyanbar.com/web/wonderkun/index.php 根据提示  “我要把攻击我的人都记录db中去!”  猜测这是insert into注入,会向数据库储存ip地址,所以注入点便是我们的ip,而ip可以用X-Forwarded-For伪造 由于注入点的特殊,这里注入是不能用逗号的,因为服务器在从X-Forwarded-For中取ip的时候,会把逗号作为分割符区分多个ip,一般会取第一个作为用户真实ip进行储存,所以我们传输的数据,只有第一个…
考点:regexp注入+时间盲注 源码: <?php # flag在fl4g里 include 'waf.php'; header("Content-type: text/html; charset=utf-8"); $db = new mysql(); $id = $_GET['id']; if ($id) { if(check_sql($id)){ exit(); } else { $sql = "select * from flllllllag where id=…
00x0 引言 早上起来,发现seebug更新了一批新的洞, 发现zzcms8.2这个洞好多人在挖,于是我就默默的踏上了复现之路(要不是点进去要买详情,我何必这么折腾~) 环境:zzcms8.2(产品招商型) php-5.4.45 . mysql-5.5.53 01x0 任意用户密码重置 01x1 任意用户密码重置方式一 话说,这个洞的标题应该是任意前台用户密码重置,后台管理员重置不了的,或许是我复现的问题.~~ 先注册个账号,然后首页点击找回密码. 地址:http://localhost/on…
用处 页面存在时间盲注,注入成功了,你啥也看不到. 这只是为了能够查看到注入后的结果 网站部分源代码 <?php $conn = mysqli_("127.0.0.1","root","root","test"); $res = mysqli_query($conn, "SELECT ${_GET['id']}, content FROM wp_news"); $row = mysqli_fetch_…
时间盲注脚本 #!/usr/bin/env python # -*- coding: utf-8 -*- import requests import time payloads = 'abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789@_.' #匹配用的字符串 user='' print 'Start to retrive current user:' for i in range(1,23): for payload…
SQL Server 数据恢复到指点时间点(完整恢复) 高文龙关注2人评论944人阅读2017-03-20 12:57:12 SQL Server 数据恢复到指点时间点(完整恢复) 说到数据库恢复,其实我们一般最常见的有两种,一种就是简单恢复,通过备份的bak文件直接恢复数据库,缺点就是有可能数据丢失.另外一种就是通过备份的数据+事务日志还原数据.但是后者还原的话我们需要保证事务日志的完整性.我们今天就主要介绍的是第二种,所有的操作过程我们使用的是SSMS进行操作的. 注:使用第二种方法还原数据…
Sql Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1,秒的精度是指使用多少位小数表示秒 DateTime数据类型秒的精度是3,DateTime2和Time可以控制秒的精度,语法是DateTime2(n)和time(n),n的取值范围是0-7,默认值是7. 2,DateTime数据类型存储日期和时间,需要8个字节的固定存储空间,默认的数据格式是yyyy-MM-dd hh:mm:ss.xxx,表示从1753年1月1日到9999年…
getdate //获得系统当前日期 datepart //获取日期指定部分(年月日时分表) getdate()函数:取得系统当前的日期和时间.返回值为datetime类型的. 用法:getdate() 例子: select getdate() as dte,dateadd(day,-1,getdate()) as nowdat 输出结果: dte nowdat --------------------------- ---------------------------1999-11-21 1…
微软在备受多年的争议后,终于对日期时间数据类型开刀了,在新版的SQL Server 2008中一口气增加了4种新的日期时间数据类型,包括: Date:一个纯的日期数据类型. Time:一个纯的时间数据类型. DateTime2:新的日期时间类型,将精度提到到了100纳秒. DateTimeOffset:新的日期时间类型,在DateTime2的基础上增加了时区部分. 下面是在SQL Server 2008中日期时间数据类型的一个简单汇总表: 数据类型 格式 取值范围 精度 存储尺寸 date yy…
参考:SQL Server的日期和时间类型 SQL Server使用 Date 表示日期,time表示时间,使用datetime和datetime2表示日期和时间. 1.秒的精度 秒的精度是指TSQL使用多少位小数,DateTime数据类型秒的精度是3,DateTime2和Time可以控制秒的精度,语法是DateTime2(n)和time(n),n的取值范围是0-7,默认值是7. 2.DateTime DateTime数据类型存储日期和时间,需要8个字节的固定存储空间,默认的数据格式是yyyy-…
SQL SERVER 提供了一些时间函数:取当前时间:select getdate()取前一个月的时间:SELECT DATEADD(MONTH,-1,GETDATE()) 月份减一个月取年份:SELECT YEAR( DATEADD(MONTH,-1,GETDATE())),Year 取年份取月份:SELECT MONTH( DATEADD(MONTH,-1,GETDATE())) ,month 取月份.如上,可通过对日期函数的各种组合,来达到目标.…
原文:sql查询,如果有更新时间则按更新时间倒序,没有则按创建时间倒序排列 ORDER BY IFNULL(update_time,create_time) DESC IFNULL(expr1,expr2) 如果 expr1 不是 NULL,IFNULL() 返回 expr1,否则它返回 expr2…
UNIX_TIMESTAMP(NOW())-UNIX_TIMESTAMP(add_time)<=25200 其中now()是现在时间 add_time是其他时间点  25200:是秒,现在和add_time 之间相差7个小时 ============================================================================= 其他的时间条件添加方法: 原文 https://blog.csdn.net/weixin_37632678/artic…
SQL Server 各版本发布时间和开发代号 2019年01月23日 11:07:44 努力挣钱娶媳妇的苗同学 阅读数 278 https://blog.csdn.net/weixin_44609873/article/details/86606715 sqlserver2019 到2019年7月份是 CTP3.1的状态 暂时还没发布.   SQL Server 各版本发布时间和开发代号 版本 年份 发布名称 代号 1 1989 年 SQL Server 1.0 无 4.21 1993年 SQ…
本次对时间型盲注进行学习,还是的使用sqli-labs环境. 首先看一下时间型盲注需要用到的: 1.if()函数   if(a,b,c) 如果a为真则执行b,否则执行c.如图,由于1=1为真所以执行第二个参数2: 而当1=11是结果为假,所以执行了第三个参数3: 2.sleep()      sleep函数可以让此语句运行N秒钟 可以看到这句代码执行了5秒钟 接下来查询1=1如果为真的话执行1,为假则执行5秒: 由于1=1为真所以执行查询1,用时0秒,几乎感觉不到延迟:1=2时,则执行第三个字段…