用ruby编写渗透工具,用python编写渗透工具

作者:hacker 分类:入侵网站 时间:2023-03-24 12:30:34 浏览:115

内容导读:导航目录:1、Ruby学完能干什么?2、7.渗透--信息收集(一)3、关于Ruby4、rubyonrails中sidekiq的使用5、用Ruby可以写游戏不?有没有已经用Ruby写的游戏,我能参考一下,求网址...……

导航目录:

Ruby学完能干什么?

Ruby作为一种通用的程序设计语言,和其它常用的编程语言一样,可以编写大部分我们日常遇到的任务,而且完成得更简单优雅。已经有人用她编写了Web服务器程序、科学计算程序、视频游戏软件和其他有趣的应用。更多的人用她来做程序原形实验和处理每天遇到的各种琐碎的编程任务,基本上就能做这些事情希望能帮到你,当然它的功能还有很多

7. 渗透--信息收集(一)

完成dns、搜索引擎google、ssl、备案号、暴力破解、app反编译、微信公众号、jsfinder获取二级域名信息

whois: 标准的互联网协议,经常用来收集目标域名相关信息, *** 注册信息,注册域名、ip地址等信息

可根据以下 *** 进行子域名探测:

[1]. dns域传送漏洞

在kali下 使用 dnsenum 参数 域名 命令,来收集一个域的信息。

主要参数:

-h 查看工具使用帮助

-dnsserver server 指定域名服务器

-enum 快捷键 相当于"--threads 5 -s 15 -w" (启动5线程,谷歌搜索15条子域名)

-f dns.txt 指定字典文件

-w (--whois) 在一个c段 *** 地址范围 提供whois查询

--noreverse 跳过反向查询操作

[2] 备案号查询

网站备案查询地址:

根据域名在相关网站上找到备案号信息,在根据备案号信息查找到相关域名信息。

[3] ssl证书查询

通过查询SSL证书,获取的域名存活率很高。

查询网址: 和

[4]google 搜索c段

旁站:旁站是和目标网站在同一台服务器上的其它的网站。

C段:C段是和目标服务器ip处在同一个C段的其它服务器。

使用网站webscan.cc查询旁站c段。

1.参考googleHack 用法 :

2.用DotNetScan工具

工具地址:VStart50\VStart50\tools\漏洞利用\IISPutScanner增强版

[5] app提取

反编译APP可进行提取相关IP地址等操作。

[6] 微信公众号

[7] JsFinder 查找子域名

将JsFinder.py复制到kali系统文件夹下,进入该文件夹使用命令 进行查询。

-d:表示深度爬取

[8] 字典枚举

字典枚举法是一种传统查找子域名的技术,这类工具有 DNSReconcile、Layer子域名挖掘机、DirBuster等。

FOFA是 *** 空间安全搜索引擎,收录的是设备而不是网页。能够探索全球互联网资产信息。

网站是fofa.so

搜索语法为:

ip=“1.1.1.1” 搜索与此ip相关的网站

port="8009" 查找开发了8009端口的服务器

domain="qq.com" 搜索跟域名带有qq.com的网站

PS:指纹识别:其核心原理是通过正则表达式匹配特征码或匹配文件的md5值等特殊信息,进而识别web应用程序的名称和版本,收集信息。

常见指纹检测的对象

1、CMS信息:比如大汉CMS、织梦、帝国CMS、phpcms、ecshop等;

2、前端技术:比如HTML5、jquery、bootstrap、pure、ace等;

3、Web服务器:比如Apache、lighttpd, Nginx, IIS等;

4、应用服务器:比如Tomcat、Jboss、weblogic、websphere等;

5、开发语言:比如PHP、Java、Ruby、Python、C#等;

6、操作系统信息:比如linux、win2k8、win7、kali、centos等;

7、CDN信息:是否使用CDN,如cloudflare、360cdn、365cyd、yunjiasu等;

8、WAF信息:是否使用waf,如Topsec、Jiasule、Yundun等;

9、IP及域名信息:IP和域名注册信息、服务商信息等;

10、端口信息:有些软件或平台还会探测服务器开放的常见端口。

关于Ruby

Ruby on Rails是一个用于编写 *** 应用程序的框架,它基于计算机软件语言Ruby,给程序开发人员提供强大的框架支持。Ruby on Rails包括两部分内容:Ruby语言和Rails框架。

什么是Ruby?

Ruby 语言是一种动态语言,它与Python、Smalltalk和Perl这3种编程语言有些类似。Ruby语言起源于日本,它的研发者是日本人松本行弘(Matsumoto Yukihiro)。松本行弘在1993年开始着手Ruby语言的研发工作,他开发Ruby语言的初衷是为了提高编程的效率。 1995年12月Matz推出了Ruby的之一个版本Ruby 0.95。

Ruby语言的主要特点如下。

1.纯的面向对象语言

在Ruby中,一切皆是对象。下面举一个例子来更直观地说明Ruby语言的这一特点。

在Java中,求一个数的绝对值的代码如下。

int c = Math.abs(-20);

而在Ruby语言中,一切皆是对象,也就是说“-20”这个数也是一个对象,因此,求一个数绝对值的Ruby代码形式如下。

c = -20.abs

这样的代码编写方式是不是更形象一些呢?

2.解释型脚本语言

Ruby 语言是解释型脚本语言,它既有脚本语言强大的字符串处理能力和正则表达式,又不失解释型语言的动态性。一方面,在最初设计Ruby语言时,Ruby的研发者松本行弘考虑到文字处理方面的需要,他借鉴了Perl语言在文字处理方面的成功经验。另一方面,松本行弘将Ruby语言设定为一种解释型语言,Ruby 的动态性使得由Ruby语言编写的程序不需要事先编译即可直接运行,这为程序的调试带来了方便。同时,这一特点可以实现开发过程中的快速反馈。

3.其他特点

(1)动态载入。可以在运行时候重定义自己,类也可以在运行时继承或取消继承。

(2)自动内存管理机制。

(3)多精度整数。

(4)迭代器和闭包。

(5)开源项目。有大量活跃的社区支持Ruby语言。

什么是Rails?

虽然Ruby语言有很多优点,但是一直以来,其流行的范围也仅限于日本。直到2004年,Ruby才逐渐被世界上其他地区的人们所认识,那么是什么让Ruby语言走向世界的呢?是Rails。

Rails 框架首次提出是在2004年7月,它的研发者是26岁的丹麦人David Heinemeier Hansson。不同于已有复杂的Web 开发框架, Rails是一个更符合实际需要而且更高效的Web开发框架。Rails结合了PHP体系的优点(快速开发)和Java体系的优点(程序规整),因此, Rails在其提出后不长的时间里就受到了业内广泛的关注。

Rails框架主要有如下的6大特点。

1.全栈式的MVC框架

Rails是一个全栈式的MVC框架,换句话说,通过Rails可以实现MVC模式中的各个层次,并使它们无缝地协同运转起来。

在实际开发一个MVC模式的Web应用项目时,如果使用Java开发,需要用到Struts(Model层)、Hibernate (Controller 层)和Spring(View层)3个框架,而且需要额外整合3个框架开发出的内容。而使用Ruby语言开发相同的项目时,只需要用到Rails框架就可以完成。

2.约定优于配置

为了说明各个对象之间的关联关系,一般的Web应用开发框架往往采用写入XML配置文件的 *** 。这种方式虽然可以解决一些问题,但是却带来了管理上的混乱。

Rails 对此的态度是约定优于配置,这意味着在Rails中不会出现XML配置文件。Rails使用Web应用多年来积累的各种常见约定(更具体地说是命名规则)来代替XML配置文件,而在Rails内部的映射与发现机制根据这些约定可以实现对象之间的关联。在第1章中,通过Rails的映射与发现机制实现了数据表与Ruby对象之间的关联。

3.更少的代码

使用约定来代替XML配置文件说明Rails本身完成了大量的底层工作,这意味着使用更少的代码来实现应用程序是极有可能的。此外,代码量的缩减也减小了出现bug的可能性,降低了维护程序和升级程序的难度。

4.生成器

Rails 使用的实时映射技术和元编程技术,免去了开发人员在开发过程中编写大量样板文件代码的烦恼。在少数需要使用样板文件代码的时候,开发人员可以通过 Rails内建的生成器脚本实时创建,而不再是通过手工编写。Rails的这个特点可以使开发人员更专注于系统的逻辑结构,而不必为一些琐碎的细节所烦扰。

5.零周转时间

对已有的Web应用系统进行修改后,其一般需要经过配置、编译、发布、重新设置、测试等一系列步骤才能投入使用,这明显浪费了许多时间。而使用Rails开发Web应用系统,可以通过浏览器即时查看程序运行结果,从而节约了大量的时间。

6.支架系统

Rails的支架系统可以自动为任何相关的数据库表创建一套包含标准CRUD操作和前台视图的系统。通过支架系统,开发人员可以方便快捷地操纵数据库中的数据表。此外,Rails也允许开发人员使用自己设计的代码或视图来替换自动生成的代码和视图。

目前,Rails的最新版本是2005年12月13日发布的v1.0.0。从RoR正式提出到v1.0.0的发布,RoR在一年多的时间里受到了业内人士的广泛关注。RoR受到广泛关注主要有如下两个原因:首先,RoR的开发效率高(部署容易)、功能丰富(支持Ajax等流行应用),有消息称对于相同的 Web开发项目,使用RoR开发比使用Java体系架构开发快5~10倍;此外,令人不可思议的高性能是其受到关注的另一个重要原因,根据CSDN上转载的新闻称使用RoR开发出来的项目性能,比基于Struts+Hibernate+Spring的Java应用还要高15%~20%。

RoR 当前遇到的主要问题是使用RoR搭建的大型商业应用还很少,究其原因可以概括为两点:之一,从开发能力的角度,RoR是一个基于Ruby语言的轻型Web 开发框架,很多开发者对其是否适合大型应用难以把握。第二,本身使用RoR开发的大型商业应用较少,使得后来者持观望态度。

综合分析来看,RoR的发展前景还是很光明的。RoR在短时间内取得了巨大的成就,它打破了Web开发领域的固有观念,方便快捷的开发方式使其被广泛接受。而事实上,现在已有几家跨国公司正在使用RoR开发自己的Web应用程序,并且有多家大型公司在考虑使用RoR进行Web应用开发。

ruby on rails中sidekiq的使用

sidekiq使用redis来保存所有的job和操作数据,所以sidekiq依赖于redis,并且sidekiq默认会去连位于localhost:6379的redis服务器,但是生产环境中可能需要自定义地址

前提:安装并启动redis,不同机器对应的安装方式可自行百度,mac下安装redis可通过

配置sidekiq所依赖的redis位置,必须同时定义sidekiq的server和client

config/initializers/sidekiq.rb

如果要使用 UNIX socket,URL 应该类似于 unix://#{Rails.root}/tmp/sockets/redis.sock

配置config/sidekiq.yml文件,一般只有在需要配置高级选项的时候才需要配置这个文件(如果不使用这个名字,可以使用-c指定 sidekiq -c config/name.yml)

文件中会生成如下内容

将耗时的程序写到perform里

注意:perform是一个实例 *** ,但是在调用的时候是用类调用

adapter默认使用的adapter是Active Job Inline需要指定为sidekiq才支持异步(如果是使用worker这一步可以省略)

另外由于sidekiq的进程并不是非常稳定,可定会自己断掉,所以可以配合监控工具Monit(可以监控任何进程,只需要设定启动和重开的方式即可)使用,详情还请自行百度

gemfile添加sinatra

执行

tips:

之前直接添加 gem 'sinatra' 运行时导致报错,google之后判断可能是由于sinatra gem的版本问题,导致运行时报错,修正后的sinatra gem 的为 gem 'sinatra', '2.0.0.beta2',require: false

routes.rb添加

打开Sidekiq web界面,检查该作业是否被处理,浏览器中输入

(以下纯属翻译)

注:本文讲的是Sidekiq结合ActiveJob使用的方式,也可以单独使用Sidekiq Worker

文章中注释掉的是单独使用Sidekiq Worker创建任务跟使用ActiveJob的不同部分

参考

(worker)

(active_job)

用Ruby可以写游戏不?有没有已经用Ruby写的游戏,我能参考一下,求网址。

我的之一次回答似乎没出现。

Ruby可以写游戏。

基本上Ruby可以调用Windows API和DirectX API或者使用.net,在开发能力和开发速度上拥有优势。

著名的RPG *** 大师(RPG Maker VX)就是使用Ruby作为核心的(参见RGSS),使用这类引擎做出的游戏保守估计数量超过10万。

国内有人做的(信赖铃音-莫扎特之梦)可以去搜索下

Miyako是一个Ruby游戏开发库,使用了SDL。可以编写跨平台的单机或者 *** 游戏。

可以去Ruby社区看看。

Python是不错,可是我不喜欢这种要注意空格的程序。IronPython,Jython不成气候。

考虑到游戏的速度因素,ruby,python全完蛋。lua来了,虽然lua实在贫弱

虽然我看着C就头疼,但是我不得不承认:这东西还是开发游戏的主力。

当然也包括他那畸形的兄弟C++(畸形是指过于复杂,外加不是完全的面向对象化。当然lua,python也不完全的面向对象)

估计楼主是看中了Ruby的开发速度和前景才选择Ruby吧。

ruby 是用什么写的?

Ruby 语言本身是用 C 语言实现的。Ruby 语言的核心部分由 C 语言编写,这些代码被编译成可执行的二进制文件,并通过 Ruby 解释器加载和执行。除了核心部分,Ruby 语言的标准库和其他一些扩展也是用 C 语言编写的。

Ruby 语言的创始人松本行弘(Yukihiro Matsumoto)在设计 Ruby 语言时,主要受到了 Perl、Python、Smalltalk 等编程语言的启发。他希望 Ruby 语言既具有面向对象编程的特性,又能像脚本语言一样方便和灵活。因此,Ruby 语言在设计上注重简洁性、可读性和灵活性,同时还提供了许多高级特性,如闭包、元编程、反射等。