作者:xiaoye i春秋社区 难易程度:★★★ 阅读点:python;web安全 是不是放假啦 来点儿干货调剂一下生活吧 前言 python是门简单易学的语言,强大的第三方库让我们在编程中事半功倍,今天我们就来谈谈python在渗透测试中的应用,让我们自己动手打造自己的渗透工具集。 信息搜集--py端口扫描小脚本 端口扫描是渗透测试中常用的技术手段,发现敏感端口,尝试弱口令或者默认口令爆破也是常用的手段,之前自学python时候百度着写了个小脚本。 #coding: utf-8 import socket import time def scan(ip, port): try: socket.setdefaulttimeout(3) s = socket.socket() s.connect((ip, port)) return True except: return def scanport(): print '作者:xiaoye'.decode('utf-8').encode('gbk') print '--------------' print 'blog: [url]http://blog.163.com/sy_butian/blog'[/url] print '--------------' ym = raw_input('请输入域名(只对未使用cdn的网站有效):'.decode('utf-8').encode('gbk')) ips = socket.gethostbyname(ym) print 'ip: %s' % ips portlist = [80,8080,3128,8081,9080,1080,21,23,443,69,22,25,110,7001,9090,3389,1521,1158,2100,1433] starttime = time.time() for port in portlist:
res = scan(ips, port) if res : print 'this port:%s is on' % port endtime = time.time() print '本次扫描用了:%s秒'.decode('utf-8').encode('gbk') % (endtime-starttime) if __name__ == '__main__': scanport() 对于端口扫描技术,其实分很多种,通常是利用tcp协议的三次握手过程(从网上偷张图...) 放出的那个脚本,是利用了tcp connect() 即完成了tcp三次握手全连接,根据握手情况判断端口是否开放,这种方式比较准确,但是会在服务器留下大量连接痕迹。
portlist = [80,8080,3128,8081,9080,1080,21,23,443,69,22,25,110,7001,9090,3389,1521,1158,2100,1433] for port in portlist:
res = scan(ips, port) if res : print 'this port:%s is on' % port 这段代码是定义了要扫描的端口,并且用for ..in .. 来进行遍历 socket.setdefaulttimeout(3) s = socket.socket() s.connect((ip, port)) 这段代码,是利用了socket套接字,建立tcp连接,socket.socket()就是s = socket.socket(socket.AF_INET, socket.SOCK_STREAM),用于tcp连接建立 实用爆破小脚本--压缩文件密码爆破 |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|