python写个御剑

前言:

今天师傅叫我,写个python版的御剑。然后我之前也写过

不过不怎么样,这次有新想法。

思路:

御剑:读取御剑配置文件里的所有路径,加上用户要扫描的url。进行批量检测,如果状态码为200并且无Error.ini里面的错误就存在该路径。报存在save.txt (详细看代码)

路径:

御剑代码:

import requests
import random
import os
file=[]
url=[]
error=[]
bc=[]
ip=[]
headers={}
user=input(‘Import TXT:‘)
banner=‘‘‘
 ____            _
|  _ \  ___  ___| |_ _ __ ___  _   _  ___ _ __
| | | |/ _ \/ __| __| ‘__/ _ \| | | |/ _ \ ‘__|
| |_| |  __/\__ \ |_| | | (_) | |_| |  __/ |
|____/ \___||___/\__|_|  \___/ \__, |\___|_|
                               |___/        

Producer:Nine world
‘‘‘
useragent=[]
twoo=[]
print(banner)

def urls():
    dk=open(‘{}‘.format(user),‘r‘)
    for k in dk.readlines():
        qcs="".join(k.split(‘\n‘))
        url.append(qcs)
    print(‘[+]url.txt Load completion‘)
    print(‘ ‘)
    print(‘ ‘)
urls()

def judge():
  pd=os.listdir(‘御剑配置文件‘)
  for name in pd:
      file.append(name)

  for f in file:
    print(‘[+]existence {}‘.format(f))

  print(‘ ‘)
  print(‘ ‘)

  dk=open(‘user-agent.txt‘,‘r‘)
  for d in dk.readlines():
      qc="".join(d.split(‘\n‘))
      useragent.append(qc)
  print(‘[+]user-agent Load completion‘)
  print(‘ ‘)
  print(‘ ‘)
judge()

def errors():
    lv=open(‘Error/error.txt‘,‘r‘)
    for e in lv.readlines():
        qcsw="".join(e.split(‘\n‘))
        error.append(qcsw)
    print(‘[+]The filter file is loaded‘)
    print(‘ ‘)
    print(‘ ‘)
errors()

def forge():
    sj=[]
    dkw=open(‘ip.txt‘,‘r‘)
    for i in dkw.readlines():
        k="".join(i.split(‘\n‘))
        ip.append(k)

    for g in range(0,len(useragent)):
        u=‘User-Agent=‘
        x=‘X-Forwarded-For=‘
        c=‘Client-IP=‘
        sj.append(u+useragent[g]+‘&‘+x+ip[g]+‘&‘+c+ip[g])
    kc=list(set(sj))
    su=random.choice(kc)
    qc=str(su)
    for v in qc.split(‘&‘):
        key,value=v.split(‘=‘,1)
        headers[key]=value
forge()

def exploit():
  wi=os.listdir(‘御剑配置文件‘)
  for w in wi:
      dp=open(‘{}‘.format(‘御剑配置文件/‘+w),‘r‘,encoding=‘gbk‘)
      for s in dp.readlines():
          we="".join(s.split(‘\n‘))
          for u in url:
              up=‘{}‘.format(u).rstrip(‘/‘)+we
              try:
                requet=requests.get(url=up,headers=headers,timeout=3,allow_redirects=False)
                for e in error:
                    if requet.status_code==200 and not e in requet.text:
                        ok=‘[+]code:{} url:{}‘.format(requet.status_code,requet.url)
                        if ok in twoo:continue
                        twoo.append(ok)
                        print(ok)
                    else:
                        no=‘[x]Not url :{}‘.format(requet.url)
                        if no in bc:continue
                        bc.append(no)
                        print(no)
              except Exception as u:
                  print(‘[-]Error {}‘.format(u))

  if len(twoo)>0:
      od=open(‘save.txt‘,‘w‘)
      od.close()

      xr=open(‘save.txt‘,‘r‘)
      for c in twoo:
          print(c,file=open(‘save.txt‘,‘a‘))

exploit()

测试效果:

Github下载地址:https://github.com/422926799/python/tree/master/%E5%BE%A1%E5%89%91

原文地址:https://www.cnblogs.com/haq5201314/p/9321041.html

时间: 2024-10-18 21:24:03

python写个御剑的相关文章

[学习]安装记录: 御剑

一.御剑 御剑是用来IP扫描的,看服务器在哪个ip上,可以扫出后台地址,检测注入漏洞,功能很多 C段速度超级快,实际测试扫描一个C段的绑定域名只要几秒 下载地址,百度搜了一下1.5 直接在这里就可以:http://www.exehack.net/775.html 然后,开始扫描,啊,我还替换了一下大字典的文件,啊,我简直是个傻子. 我不知道怎么添加,为此还搜索了半天,--又反了之前一样的错误. [看底部!!!看完该页面有什么!!!] 添加按钮就在那里放着!!!!!!!我搜了半天我tm 好了,扫描

python 写的http后台弱口令爆破工具

# -*- coding: utf-8 -*- # 利用python 写的多线程爆破后台用户名+密码(自备字典),比较实用,即使是在信息安全这么重视的今天,还是有人不加验证码或者异常访问限制之类的登陆验证方式,这样就很# 容易被弱口令爆破工具拿下,(本代码仅限学习实用,禁止进行web攻击,不承担法律责任) import urllib2 import urllib import httplib import threading headers = {"Content-Type":&quo

作业1+2.四则运算(改进后完整版,用python写的)_064121陶源

概述: 用一个星期加上五一的三天假期自学了python,在Mac系统上重新写出了四则运算的程序,编译器是PyCharm,相当于完成了作业2.d)"选一个你从来没有学过的编程语言,试一试实现基本功能"这个方向. 用python写的这个程序能实现分数的加减程序,实现带加减乘除和括号的计算题,实现随机生成100道简单计算题,比之前用C++写的程序功能更加完善,更加简洁! 关键点: 调用两个模板. 1)类似C++和Java,格式是 对象.方法(),Fraction()方法,能直接表示分数. 2

python 写 txt

python写txt,之前写过jason的,和写txt有点区别,记录下. import os def touch(path): u = '12' u1= '34' with open(path, 'w') as f: f.write(u) f.write('\t') f.write(u1) #os.utime(path, None) path = "creativeFile.txt" touch(path) 1.打开的模式有几种(转自http://blog.csdn.net/adupt

要继续看Python写算法的内容请到那里去

因为在这里发文章的时候,莫名其妙的出现发布出去的问题,客服告知是因为链接或者敏感词. 能不能告诉我哪里出了问题?我可以修改,以便再发. 但是,没有人告诉我,只是告诉我不能发. 另外,能不能公布一下敏感词?以后我在遣词造句的时候,才可以避免. 但是,没有看到敏感词列表. 以后我的文章将发布在https://www.github.com/qiwsir/algorithm里面,有兴趣的可以到那里阅读. 要继续看Python写算法的内容请到那里去,布布扣,bubuko.com

用Python写猜年龄游戏

菜鸟的第一个程序:用python写猜年龄,0基础写起来真他娘的累,一个简单的程序写了几个小时,终于马马虎虎写好了. 许多刚入行的新手们经常问有什么捷径能快速学会写代码?答案是没有的,只有一个字:练! #!/usr/bin/env python # Author:William Huang my_age = 29 # 先设定好正确的答案 count = 0 # 设定好计数器 while True: count += 1 # 计数器自加1 if count <= 3: # 设定次数,小于等于3次 u

如何Python写一个安卓APP

前言:用Python写安卓APP肯定不是最好的选择,但是肯定是一个很偷懒的选择,而且实在不想学习Java,再者,就编程而言已经会的就Python与Golang(注:Python,Golang水平都一般),那么久Google了一下Python写安卓的APP的可能性,还真行. 既然要写个APP,那么总得要有个想法吧. 其实笔者想做两个APP来着,一个是自己写着好玩的,一个是关于运维的. 关于运维的APP,设计应该如下 可能长这样 然后设计应该是这样. 如果觉得可行的话,评论留言一下你觉得应该写进这个

用python写MapReduce函数

尽管Hadoop框架是用java写的,但是Hadoop程序不限于java,可以用python.C++.ruby等.本例子中直接用python写一个MapReduce实例,而不是用Jython把python代码转化成jar文件. 例子的目的是统计输入文件的单词的词频. 输入:文本文件 输出:文本(每行包括单词和单词的词频,两者之间用'\t'隔开) 1. Python MapReduce 代码 使用python写MapReduce的"诀窍"是利用Hadoop流的API,通过STDIN(标准

Python写的Web spider(网络爬虫)

Python写的Web spider: <span style="font-size:14px;"># web spider # author vince 2015/7/29 import urllib2 import re # get href content pattern = '<a(?:\\s+.+?)*?\\s+href=\"([h]{1}[^\"]*?)\"' t = set("") # collectio