摘要:
1 import paramiko 2 import sys 3 import ipaddress 4 import optparse 5 6 7 class SSHClient: 8 def __init__(self) -> None: 9 self.target, self.port, sel 阅读全文
摘要:
问题: 接收的数据如果大于缓冲,则将无法完整接收数据,但是如果用循环方式来接收,代理与浏览器之间的交互似乎存在问题。 1 from concurrent.futures import thread 2 import optparse 3 import sys 4 import socket 5 im 阅读全文
摘要:
代码比较简单,就是利用socket模块模拟TCP客户端,这里就是模拟浏览器发起对网站的访问,假设socket.recv(1024)所接收的内容长度大于1024字节,那么需要循环接收,那么结束的标志是什么呢?并不是None,而是按照接收到的数据长度来判断是否已经接收完整。 1 import socke 阅读全文
摘要:
本代码实现: 1. 访问并下载网站默认页面; 2. 自动提取表单包括表单中的action, input 等信息,并组成字典 3. 提交post请求,实现成功的登录 import requests import sys import optparse from lxml import etree cl 阅读全文
摘要:
本代码实验所用的目标应用为metasploitable 2的Multillidae。核心思想是看是否可以请求到Linux系统中都会存在的/etc/passwd文件,而且该文件中必然会有root字段。 1 import optparse 2 import requests 3 import sys 4 阅读全文
摘要:
本代码主要识别网页源代码中是否有注释,并将注释显示出来,因为有些时候注释具有一定的信息收集价值,主要用到的模块包括: 1. requests请求模块 2. re正则表达式模块 1 import requests 2 import re 3 import sys 4 import optparse 5 阅读全文
摘要:
本代码的注意事项: 1. 读取字典尤其是大字典文件,用readline而不是readlines方法读取每一行,这样可以节省内存空间 2. 本代码有两层循环,外层为用户名字典的循环,内层为密码字典的循环,特别需要注意,内层循环在readline到文件解围后,需要重新open,才能继续读取下一个用户名对 阅读全文
摘要:
本代码需要结合两个字典: 1. 常见的文件扩展名列表(比如.php, .asp) 2. 文件名字典 1 import requests 2 import sys 3 import optparse 4 from concurrent.futures import ThreadPoolExecutor 阅读全文
摘要:
本工具开始编写的时候使用多线程模块threading,但是发现运行的时候会报出很多的错误,其中一个解决办法是在创建的新的线程的时候,time.sleep()一定的时间,但这就从一定程度上失去了多线程的意义,还有一个比较简便的办法是利用线程池,ThreadPoolExecutor,可以指定线程池中的线 阅读全文
摘要:
1 from lxml import etree 2 import requests 3 import sys 4 import optparse 5 import time 6 7 class MySpider: 8 def __init__(self) -> None: 9 self.start 阅读全文