• python安全编程之c段扫描器


    该脚本主要针对网站c段进行扫描,我们在进行渗透测试的时候,一般功能少或者安全防护做的比较好的网站很难进行渗透,我们可以将目标放在他的c段上,看看同段的其他服务器搭载了一些什么业务,方便我们可以更好地进行渗透。

    我们使用python编写这个脚本,设计方法是使用requests库+多线程,首先对段内存活ip进行探测,确定存活ip后,再对这些ip的端口进行请求,探测是否存在服务,如果有服务就返回存在,无的话就报无。

    import requests
    
    import threading
    
    import queue
    
    import sys
    
    import ipaddr
    
    
    
    class PortScan(threading.Thread):
    
        def __init__(self,queue):
    
            threading.Thread.__init__(self)
    
            self._queue = queue
    
            self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36',}
    
        def run(self):
    
            while True:
    
                if self._queue.empty():
    
                    break
    
                try:
    
                    ip = str(self._queue.get(timeout=5))
    
                    url = 'http://' + ip
    
                    r = requests.get(url=url,headers=self.headers,timeout=5)
    
                    status = r.status_code
    
                    if status:
    
                        sys.stdout.write("%-27s
    " % (url))
    
                except Exception:
    
                    pass
    
    def main():
    
        if len(sys.argv) != 2:
    
            print ('Usage: python %s 192.168.1.1/24'%(sys.argv[0]))
    
        else:
    
            threads = []
    
            threadnum = 250        #线程数
    
            queue = queue.queue()
    
            cidrip = sys.argv[1]      #接收输入IP段
    
            ips = ipaddr.IPNetwork(cidrip)
    
            for ip in ips:
    
                queue.put(ip)
    
            for i in range(threadnum):
    
                threads.append(PortScan(queue))
    
            for t in threads:
    
                t.start()
    
            for t in threads:
    
                t.join()
    
            print ('ALL Finished!')
    
    if __name__ == '__main__':
    
        main()

    这个脚本还有很多可以拓展的地方,如可以增加user-agent,或者可以使用字典对探测存活的端口的服务进行确认,后续我们可以功能进行扩展,完善。

  • 相关阅读:
    蓝桥杯 网络寻路
    ny33 蛇形填数
    集合运算 蓝桥杯 set容器
    蓝桥杯 回形取数
    bam/sam格式说明--转载
    samtools一些文档
    Linux批量更改文件后缀-转载
    GATK--使用转载
    Linux下wget下载整个FTP目录(含子目录)--转载
    CRLF line terminators导致shell脚本报错:command not found --转载
  • 原文地址:https://www.cnblogs.com/lzlzzzzzz/p/13956264.html
Copyright © 2020-2023  润新知