重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
快捷、简单的安全漏洞扫描工具fscan
创新互联公司-专业网站定制、快速模板网站建设、高性价比双湖网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式双湖网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖双湖地区。费用合理售后完善,十载实体公司更值得信赖。
fscan是一款用go语言编写的开源工具,一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。
支持主机存活探测、
端口扫描、
常见服务的爆破、
ms17010、
redis 批量写公钥、
计划任务反弹 shell、
读取 win 网卡信息、
web 指纹识别、
web 漏洞扫描、
netbios 探测、
域控识别等功能
主要功能
1.信息搜集:
存活探测(icmp)
端口扫描
2.爆破功能:
各类服务爆破(ssh、smb等)
数据库密码爆破(mysql、mssql、redis、psql等)
3.系统信息、漏洞扫描:
netbios探测、域控识别
获取目标网卡信息
高危漏洞扫描(ms17010等)
4.Web探测功能:
webtitle探测
web指纹识别(常见cms、oa框架等)
web漏洞扫描(weblogic、st2等,支持xray的poc)
5.漏洞利用:
redis写公钥或写计划任务
ssh命令执行
Java教程
Linux入门
更多
首页

Go语言WEB框架(Gin)详解
在 Go语言开发的 Web 框架中,有两款著名 Web 框架分别是 Martini 和 Gin,两款 Web 框架相比较的话,Gin 自己说它比 Martini 要强很多。
Gin 是 Go语言写的一个 web 框架,它具有运行速度快,分组的路由器,良好的崩溃捕获和错误处理,非常好的支持中间件和 json。总之在 Go语言开发领域是一款值得好好研究的 Web 框架,开源网址:
首先下载安装 gin 包:
go get -u github点抗 /gin-gonic/gin
一个简单的例子:
package main
import "github点抗 /gin-gonic/gin"
func main() {
//Default返回一个默认的路由引擎
r := gin.Default()
r.GET("/ping", func(c *gin.Context) {
//输出json结果给调用方
c.JSON(200, gin.H{
"message": "pong",
})
})
r.Run() // listen and serve on 0.0.0.0:8080
}
编译运行程序,打开浏览器,访问页面显示:
{"message":"pong"}
gin 的功能不只是简单输出 Json 数据。它是一个轻量级的 WEB 框架,支持 RestFull 风格 API,支持 GET,POST,PUT,PATCH,DELETE,OPTIONS 等 http 方法,支持文件上传,分组路由,Multipart/Urlencoded FORM,以及支持 JsonP,参数处理等等功能,这些都和 WEB 紧密相关,通过提供这些功能,使开发人员更方便地处理 WEB 业务。
Gin 实际应用
接下来使用 Gin 作为框架来搭建一个拥有静态资源站点,动态 WEB 站点,以及 RESTFull API 接口站点(可专门作为手机 APP 应用提供服务使用)组成的,亦可根据情况分拆这套系统,每种功能独立出来单独提供服务。
下面按照一套系统但采用分站点来说明,首先是整个系统的目录结构,website 目录下面 static 是资源类文件,为静态资源站点专用;photo 目录是 UGC 上传图片目录,tpl 是动态站点的模板。
当然这个目录结构是一种约定,可以根据情况来修改。整个项目已经开源,可以访问来详细了解:具体每个站点的功能怎么实现呢?请看下面有关每个功能的讲述:
静态资源站点
一般网站开发中,我们会考虑把 js,css,以及资源图片放在一起,作为静态站点部署在 CDN,提升响应速度。采用 Gin 实现起来非常简单,当然也可以使用 net/http 包轻松实现,但使用 Gin 会更方便。
不管怎么样,使用 Go 开发,我们可以不用花太多时间在 WEB 服务环境搭建上,程序启动就直接可以提供 WEB 服务了。
package main
import (
"net/http"
"github点抗 /gin-gonic/gin"
)
func main() {
router := gin.Default()
// 静态资源加载,本例为css,js以及资源图片
router.StaticFS("/public", http.Dir("D:/goproject/src/github点抗 /ffhelicopter/tmm/website/static"))
router.StaticFile("/favicon.ico", "./resources/favicon.ico")
// Listen and serve on 0.0.0.0:80
router.Run(":80")
}
首先需要是生成一个 Engine,这是 gin 的核心,默认带有 Logger 和 Recovery 两个中间件。
router := gin.Default()
StaticFile 是加载单个文件,而 StaticFS 是加载一个完整的目录资源:
func (group *RouterGroup) StaticFile(relativePath, filepath string) IRoutes
func (group *RouterGroup) StaticFS(relativePath string, fs http.FileSystem) IRoutes
这些目录下资源是可以随时更新,而不用重新启动程序。现在编译运行程序,静态站点就可以正常访问了。
刚入行时学习使用AWVS、APPSCAN等WEB漏洞自动化扫描工具,只知道这类工具会先把目标站点的链接全部爬取,再对链接以GET、POST方式进行请求测试。
主动扫描器是直接利用爬虫暴力探测接口,而被动扫描器则是采用获取流量的方式探测接口。
这里简单推荐三款好用的扫描器,详细的用法这里就不过多介绍了。
xray是长亭的一款web自动化漏洞扫描神器,支持主动式、被动式扫描,使用go语言编写,可自定义编写POC。
官方有详细说明,这里-h简略地看一下。
而webscan是xray核心功能,用来发现探测Web漏洞。
1.基础爬虫爬取命令
2. HTTP代理被动扫描命令
burp点击Add 添加上游代理以及作用域。
访问页面,xray会将该接口自动调用poc自动化开始探测。强烈建议使用该方式挖掘web漏洞。
goby是一款自动化检测工具,内置了多个实用性强的poc,扫描速度极快。且有多个扩展程序,如fofa、metasploit等等,我觉得最值得一提的是具有sockst代理功能,且扫描到的资产详细的展示着banner、title、version等信息。
以代理扫描内网为例:
设置socks5代理模式进行内网扫描。
代理扫描的速度比较慢,但至少可以对内网有大致的判断,也方便后续横向内网。
点击资产可获取ip详细的端口、banner、服务、版本以及title。
免费版内置78个poc,红队专用版内置100多个poc。都是针对中间件、框架的漏洞检测。
nuclei是国外的一款快速扫描工具,内置大量的漏洞库。
多一点扫描多一点可能性。