python网站后台_Python 网站后台扫描脚本

news/2024/5/8 11:52:29/文章来源:https://blog.csdn.net/weixin_39841610/article/details/110321756

Python 网站后台扫描脚本

1062851-20180508233017898-836485043.png

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

#!/usr/bin/python

#coding=utf-8

import sys

import urllib

import time

url= "http://123.207.123.228/"

txt= open(r"C:\Users\ww\Desktop\houtaiphp.txt","r")

open_url= []

all_url= []

def search_url(url,txt):

withopen(r"C:\Users\ww\Desktop\houtaiphp.txt","r") as f :

for eachin f:

each= each.replace('\n','')

urllist= url+each

all_url.append(urllist)

print("查找:"+urllist+'\n')

try:

req= urllib.urlopen(urllist)

if req.getcode()== 200:

open_url.append(urllist)

if req.getcode()== 301:

open_url.append(urllist)

except:

pass

def main():

search_url(url,txt)

if open_url:

print("后台地址:")

for eachin open_url:

print("[+]"+each)

else:

print("没有找到网站后台")

if __name__== "__main__":

main()

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

#!/usr/bin/python

#coding=utf-8

import sys

import urllib

import time

url= "http://123.207.123.228/"

txt= open(r"C:\Users\ww\Desktop\houtaiphp.txt","r")

open_url= []

all_url= []

def search_url(url,txt):

withopen(r"C:\Users\ww\Desktop\houtaiphp.txt","r") as f :

for eachin f:

each= each.replace('\n','')

urllist= url+each

all_url.append(urllist)

handle_url(urllist)

def handle_url(urllist):

print("查找:"+urllist+'\n')

try:

req= urllib.urlopen(urllist)

if req.getcode()== 200:

open_url.append(urllist)

if req.getcode()== 301:

open_url.append(urllist)

except:

pass

def main():

search_url(url,txt)

if open_url:

print("后台地址:")

for eachin open_url:

print("[+]"+each)

else:

print("没有找到网站后台")

if __name__== "__main__":

main()

1062851-20180509000036126-22272934.png

师傅让我多看看-->多线程

这里就加个多线程吧。

copycode.gif

#!/usr/bin/python

#coding=utf-8

import sys

import urllib

import time

import threading

url = "http://123.207.123.228/"

txt = open(r"C:\Users\ww\Desktop\houtaiphp.txt","r")

open_url = []

all_url = []

threads = []

def search_url(url,txt):

with open(r"C:\Users\ww\Desktop\houtaiphp.txt","r") as f :

for each in f:

each = each.replace('\n','')

urllist = url+each

all_url.append(urllist)

def handle_url(urllist):

print("查找:"+urllist+'\n')

try:

req = urllib.urlopen(urllist)

if req.getcode() == 200:

open_url.append(urllist)

if req.getcode() == 301:

open_url.append(urllist)

except:

pass

def main():

search_url(url,txt)

for each in all_url:

t = threading.Thread(target = handle_url,args=(each,))

threads.append(t)

t.start()

for t in threads:

t.join()

if open_url:

print("后台地址:")

for each in open_url:

print("[+]"+each)

else:

print("没有找到网站后台")

if __name__ == "__main__":

start = time.clock()

main()

end = time.clock()

print("spend time is:%.3f seconds" %(end-start))

copycode.gif

多线程和没加线程的时间对比

1062851-20180514130102092-862782111.png

--------------------------------------------------------------------------------------------------------------------------------------------------

利用zoomeye搜索

调用ZoomEye API获取信息

主要涉及模块urllib,json,os模块。

copycode.gif

# coding: utf-8

import os

import requests

import json

access_token = ''

ip_list = []

def login():

"""

输入用户米密码 进行登录操作

:return: 访问口令 access_token

"""

user = raw_input('[-] input : username :')

passwd = raw_input('[-] input : password :')

data = {

'username' : user,

'password' : passwd

}

data_encoded = json.dumps(data) # dumps 将 python 对象转换成 json 字符串

try:

r = requests.post(url = 'https://api.zoomeye.org/user/login',data = data_encoded)

r_decoded = json.loads(r.text) # loads() 将 json 字符串转换成 python 对象

global access_token

access_token = r_decoded['access_token']

except Exception,e:

print '[-] info : username or password is wrong, please try again '

exit()

def saveStrToFile(file,str):

"""

将字符串写如文件中

:return:

"""

with open(file,'w') as output:

output.write(str)

def saveListToFile(file,list):

"""

将列表逐行写如文件中

:return:

"""

s = '\n'.join(list)

with open(file,'w') as output:

output.write(s)

def apiTest():

"""

进行 api 使用测试

:return:

"""

page = 1

global access_token

with open('access_token.txt','r') as input:

access_token = input.read()

# 将 token 格式化并添加到 HTTP Header 中

headers = {

'Authorization' : 'JWT ' + access_token,

}

# print headers

while(True):

try:

r = requests.get(url = 'https://api.zoomeye.org/host/search?query="phpmyadmin"&facet=app,os&page=' + str(page),

headers = headers)

r_decoded = json.loads(r.text)

# print r_decoded

# print r_decoded['total']

for x in r_decoded['matches']:

print x['ip']

ip_list.append(x['ip'])

print '[-] info : count ' + str(page * 10)

except Exception,e:

# 若搜索请求超过 API 允许的最大条目限制 或者 全部搜索结束,则终止请求

if str(e.message) == 'matches':

print '[-] info : account was break, excceeding the max limitations'

break

else:

print '[-] info : ' + str(e.message)

else:

if page == 10:

break

page += 1

def main():

# 访问口令文件不存在则进行登录操作

if not os.path.isfile('access_token.txt'):

print '[-] info : access_token file is not exist, please login'

login()

saveStrToFile('access_token.txt',access_token)

apiTest()

saveListToFile('ip_list.txt',ip_list)

if __name__ == '__main__':

main()

copycode.gif

1062851-20180515091835511-2046396391.png

上面的脚本是搜索 phpmyadmin 的。搜索得到的 IP 会保存在同路径下的 ip_list.txt 文件。

但是搜索到的 ip 并不是都能够访问的,所以这里写个了识别 phpmyadmin 的脚本,判断是否存在,是则输出。

copycode.gif

#!/usr/bin/python

#coding=utf-8

import sys

import time

import requests

headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0"}##浏览器请求头

open_url = []

all_url = []

payloa = 'http://'

payload = '/phpmyadmin/index.php'

def search_url():

with open(r"C:\Users\ww\Desktop\ip_list.txt","r") as f :

for each in f:

each = each.replace('\n','')

urllist = payloa+each+payload

all_url.append(urllist)

handle_url(urllist)

def handle_url(urllist):

#print('\n'+urllist)

#print '----------------------------'

try:

start_htm = requests.get(urllist,headers=headers)

#print start_htm

if start_htm.status_code == 200:

print '*******************************************'

print urllist

except:

pass

if __name__ == "__main__":

search_url()

copycode.gif

1062851-20180515091850292-383731789.png

加个多线程,毕竟工作量很大。

copycode.gif

#!/usr/bin/python

#coding=utf-8

import sys

import time

import requests

import threading

headers = {'User-Agent':"Mozilla/5.0 (Windows NT 6.3; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0"}##浏览器请求头

open_url = []

all_url = []

threads = []

payloa = 'http://'

payload = '/phpmyadmin/index.php'

def search_url():

with open(r"C:\Users\ww\Desktop\ip_list.txt","r") as f :

for each in f:

each = each.replace('\n','')

urllist = payloa+each+payload

all_url.append(urllist)

#handle_url(urllist)

def handle_url(urllist):

#print('\n'+urllist)

#print '----------------------------'

try:

start_htm = requests.get(urllist,headers=headers)

#print start_htm

if start_htm.status_code == 200:

print '*******************************************'

print urllist

except:

pass

def main():

search_url()

for each in all_url:

t = threading.Thread(target=handle_url,args=(each,))

threads.append(t)

t.start()

for t in threads:

t.join()

if __name__ == "__main__":

start = time.clock()

main()

end = time.clock()

print("spend time is %.3f seconds" %(end-start))

copycode.gif

1062851-20180515094814158-1610090446.png

这下就方便了许多。

任重而道远!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_774379.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么在加载首页的时候同时弹出另一个页面窗口的脚本_如何建设一个高性能的网站...

网站是否高性能,我们第一眼看的就是响应是否快速,运行是否流畅,但是开发人员应该怎么做才可以做到高性能呢?01 前言最近在进行项目构建的时候遇到很多难题,首先我们最容易忽略的问题就是关于性能优化的。为什么这么说呢…

url 收录工具_有哪些方法可以解决最近网站收录少的问题?

夫唯8月22日我在搜外问答发起问题,收集近期收录不理想的网站情况,共65位同学参与交流。帖子地址:大家是否最近百度收录量老掉?集合帖(悬赏3元) - 搜外问答​ask.seowhy.com针对收录不理想,小伙伴们这样说:★…

更新网站 图片缓存_关于浏览器缓存你知道多少

分享一些实用或有意思的东西,发现代码之美。专注深度和最佳实践,希望打造的是一个高质量的公众号。在前端开发中,我们在提到性能优化的时候总会提到一点:合理设置缓存。我们该如何从这方面入手来考虑提高网站性能呢?前…

php+mysql动态网站开发,你还看不明白?

前言 可以说掌握这个pdf上的知识,面试问的基础知识无处左右,我凭借这个pdf拿下了OPPO/百度,京东,华为,美团,蚂蚁金服等互联网公司的offer。 下文中截图来源于朋友一个pdf版本的面经,把所以知识…

我的世界java版官方网站,讲的太透彻了

简介 基于SpringCloud(Hoxton.SR1) SpringBoot(2.2.4.RELEASE) 的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发&#xff…

网站虚拟主机服务器选择,选择虚拟主机服务的六大要点

信息化的工作之一就是开设网站,而对大量小规模企业来讲,开设网站就涉及到虚拟主机的选择问题。这是一个看似简单,实际上却有不少“讲究”的工作。利用虚拟主机技术,可以把一台真正的主机分成许多“ 虚拟”的主机,它们之…

app 访问h5 如何截取_如何选择自适应网站建设?自适应网站建设的重要因素?...

如何选择自适应网站建设?自适应网站制作有何特点?自适应网站建设的重要因素?“自适应式网站”又被称为HTML5自适应式网站,自适应式网站做为欧美流行建站方式,现在正成为中国做网站的主导方向,越来越多做网站…

php 架构的网站 如何上传.sql文件到远程主机并用它部署数据库,技巧和诀窍: 如何上传一个.SQL文件到远程主机并且执行它来部署...

Tip/Trick: How to upload a .SQL file to a Hoster and Execute it to Deploy a SQL Database 【原文发表日期】 Thursday, January 11, 2007 12:20 AM 上个月 (英文),我讨论了新的(免费的)数据库发布向导,它是设计来充分简化在web主机环境中上传和部署…

3个月学会Java开发!mysql官方下载网站

前言 要相信,你现在所有的努力和付出都会在将来的某一天回报给你! 首先阿里巴巴作为国内互联网行业的领头羊,培养了一代又一代的IT技术人才,很多想进阿里这些互联网大厂的程序员看中的不仅仅是高薪丰厚的福利待遇,同样…

全自动化“视频网站”视频制作与发布的分布式系统介绍 - 支持 Bitrate Switching(类似Smooth Streaming)...

一、前言 从事视频后台开发工作已近三年,在掌握了必需的业务知识以及技术后,我思考着做出点成果,用来作为自己再就业时的简历或者前三个学年的主要成绩。本文我将就三大部分简单介绍这套系统的优势、特点,定能抛砖引玉&#xff1b…

5分钟搞定!java免费源码网站

一、前言 最近刚读完一本书:《Netty、Zookeeper、Redis 并发实战》,个人觉得 Netty 部分是写得很不错的,读完之后又对 Netty 进行了一波很好的复习(之前用 spring boot netty zookeeper 模仿 dubbo 做 rpc 框架,那时…

零基础个人网站搭建教程(一个完全的新人如何搭建自己的个人网站)

花了一整天时间写的。混迹网络多年,现在又是it圈的一员,大大小小的网站也都做过。所以今天我想详细的给大家来一篇:零基础个人网站搭建教程,动手能力强的同学应该看完就会了。 WordPress: WordPress是使用PHP语言开发的…

零基础,最完整的建站教程

授人以鱼不如授人以渔“,这篇文章演示一下如何使用网络上开源免费网站程序搭建网站,最后会完成一个WordPress博客网站的搭建,但是方法是通用的,你可以把WordPress换成其他的程序,比如社区论坛,电商网站等都…

在IIS中使用SSL配置HTTPS网站(转)

由于Windows系统的普及,很多中小企业在自己的网站和内部办公管理系统都是用默认的IIS来做WEB服务器使用。默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击者可以通过安装监听程序…

如何快速搭建个人网站

今日科技快讯针对近日坊间流传的“我们天天在看你的微信”一说,微信团队今天发表声明重申三条用户隐私原则:1、微信不留存任何用户的聊天记录,聊天内容只存储在用户的手机、电脑等终端设备上;2、微信不会将用户的任何聊天内容用于…

搭建个人网站教程:阿里云+WordPress

以下教程简单易懂,不需要复杂的环境配置即可完成个人网站的搭建。 Step1:购买阿里云的服务器 这里我选择了“轻量应用服务器”(如果是搭建个人网站,容量小一点就行,不需要太大),镜像选择&…

超详细搭建个人网站教程,附带各种常见报错解决方案。

文章目录前言解惑环节准备工作环境配置一、安装二、环境配置1.cnpm安装2.Hexo安装可能报错和问题:博客初始化1、博客搭建可能报错和问题:2、博客测试可能报错和问题主题更换可能报错和问题:部署到云端1、创建库2.配置本地3.安装插件4.部署云端…

超详细的网站搭建教程使用阿里云RDS和ECS搭建个人博客网站

今天讲一讲如何利用云数据库、云服务器、word press搭建博客网站 1、注册阿里云账号 2、购买云数据库RDS(MySQL) 3、购买云服务器ECS 4、配置数据库 5、配置服务器 6、部署LAMP环境【Apache、MySQL、PHP、wordpress】 1、注册阿里云账号 浏览器搜索阿…

分布式解决方案-解决网站跨域请求

1.什么是网站跨域 跨域原因产生:在当前域名请求网站中,默认不允许通过ajax请求发送其他域名。 两个项目之间使用ajax(前端类似后端的httpclient)实现通讯,如果浏览器访问的域名和端口与ajax请求访问的地址不一样的情况下,…

互联网公司都在用什么语言写网站后端?

2019独角兽企业重金招聘Python工程师标准>>> 豆瓣 python 淘宝 php 百度 php python 优酷 java php 谷歌 python youtube python facebook php wikipedia php twitter ruby 看来php和python平分秋色&…