models

package
v0.4.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 6, 2023 License: MIT Imports: 2 Imported by: 4

Documentation

Index

Constants

View Source
const LatestSchemaVersion = 3

LatestSchemaVersion manages the Schema version used in the latest go-exploitdb.

Variables

This section is empty.

Functions

This section is empty.

Types

type Base added in v0.4.4

type Base struct {
	FileURL        string     `gorm:"type:varchar(255)" json:"file_url"`
	Description    string     `gorm:"type:text" json:"description"`
	DatePublished  *time.Time `json:"date_published"`
	Author         string     `gorm:"type:varchar(255)" json:"author"`
	Type           string     `gorm:"type:varchar(255)" json:"type"`
	Platform       string     `gorm:"type:varchar(255)" json:"platform"`
	DateAdded      *time.Time `json:"date_added"`
	DateUpdated    *time.Time `json:"date_updated"`
	Verified       bool       `json:"verified"`
	Codes          string     `gorm:"type:text" json:"codes"`
	Tags           string     `gorm:"type:varchar(255)" json:"tags"`
	Aliases        string     `gorm:"type:varchar(255)" json:"aliases"`
	ScreenshotURL  string     `gorm:"type:varchar(255)" json:"screenshot_url"`
	ApplicationURL string     `gorm:"type:varchar(255)" json:"application_url"`
	SourceURL      string     `gorm:"type:varchar(255)" json:"source_url"`
}

Base :

type Document

type Document struct {
	ID                  int64 `json:"-"`
	OffensiveSecurityID int64 `gorm:"index:idx_document_offensive_security_id" json:"-"`
	Base                `gorm:"embedded"`
	Port                string `gorm:"type:varchar(255)" json:"port"`
}

Document : https://gitlab.com/exploit-database/exploitdb/-/raw/main/files_exploits.csv

type Exploit

type Exploit struct {
	ID                int64              `json:"-"`
	ExploitType       ExploitType        `gorm:"type:varchar(255)" json:"exploit_type"`
	ExploitUniqueID   string             `gorm:"type:varchar(255);index:idx_exploit_exploit_unique_id" json:"exploit_unique_id"`
	URL               string             `gorm:"type:text" json:"url"`
	Description       string             `gorm:"type:text" json:"description"`
	CveID             string             `gorm:"type:varchar(255);index:idx_exploit_cve_id" json:"cve_id"`
	OffensiveSecurity *OffensiveSecurity `json:"offensive_security,omitempty"`
	GitHubRepository  *GitHubRepository  `json:"github_repository,omitempty"`
	InTheWild         *InTheWild         `json:"in_the_wild,omitempty"`
}

Exploit :

type ExploitType

type ExploitType string

ExploitType :

var (
	// OffensiveSecurityType : https://www.exploit-db.com/
	OffensiveSecurityType ExploitType = "OffensiveSecurity"
	// GitHubRepositoryType :
	GitHubRepositoryType ExploitType = "GitHub"
	// AwesomePocType :
	AwesomePocType ExploitType = "AwesomePoc"
	// InTheWildType :
	InTheWildType ExploitType = "InTheWild"
)

type FetchMeta added in v0.2.0

type FetchMeta struct {
	gorm.Model      `json:"-"`
	ExploitRevision string
	SchemaVersion   uint
	LastFetchedAt   time.Time
}

FetchMeta has meta information about fetched exploit

func (FetchMeta) OutDated added in v0.2.0

func (f FetchMeta) OutDated() bool

OutDated checks whether last fetched feed is out dated

type GHDB added in v0.4.4

type GHDB struct {
	ID                  int64      `json:"-"`
	OffensiveSecurityID int64      `gorm:"index:idx_ghdb_offensive_security_id" json:"-"`
	Link                string     `gorm:"type:varchar(255)" json:"link"`
	Category            string     `gorm:"type:varchar(255)" json:"category"`
	ShortDescription    string     `gorm:"type:varchar(255)" json:"shortDescription"`
	TextualDescription  string     `gorm:"type:text" json:"textualDescription"`
	Query               string     `gorm:"type:varchar(255)" json:"query"`
	Querystring         string     `gorm:"type:varchar(255)" json:"querystring"`
	Edb                 string     `gorm:"type:varchar(255)" json:"edb"`
	Date                *time.Time `json:"date"`
	Author              string     `gorm:"type:varchar(255)" json:"author"`
}

GHDB : https://gitlab.com/exploit-database/exploitdb/-/raw/main/ghdb.xml

type GitHubRepository

type GitHubRepository struct {
	ID        int64     `json:"-"`
	ExploitID int64     `gorm:"index:idx_git_hub_repository_exploit_id" json:"-"`
	Star      int       `json:"star"`
	Fork      int       `json:"fork"`
	CreatedAt time.Time `json:"created_at"`
	UpdatedAt time.Time `json:"updated_at"`
}

GitHubRepository :

type InTheWild added in v0.4.2

type InTheWild struct {
	ID        int64     `json:"-"`
	ExploitID int64     `gorm:"index:idx_in_the_wild_exploit_id" json:"-"`
	TimeStamp time.Time `json:"timestamp"`
	Source    string    `gorm:"type:varchar(255)" json:"source"`
	Type      string    `gorm:"type:varchar(255)" json:"type"`
}

InTheWild :

type OffensiveSecurity

type OffensiveSecurity struct {
	ID        int64      `json:"-"`
	ExploitID int64      `gorm:"index:idx_offensive_security_exploit_id" json:"-"`
	Document  *Document  `json:"document,omitempty"`
	ShellCode *ShellCode `json:"shell_code,omitempty"`
	Paper     *Paper     `json:"paper,omitempty"`
	GHDB      *GHDB      `json:"ghdb,omitempty"`
}

OffensiveSecurity : https://www.exploit-db.com/

type Paper added in v0.2.0

type Paper struct {
	ID                  int64 `json:"-"`
	OffensiveSecurityID int64 `gorm:"index:idx_paper_offensive_security_id" json:"-"`
	Base                `gorm:"embedded"`
	Language            string `gorm:"type:varchar(255)" json:"language"`
}

Paper : https://gitlab.com/exploit-database/exploitdb-papers/-/raw/main/files_papers.csv

type ShellCode

type ShellCode struct {
	ID                  int64 `json:"-"`
	OffensiveSecurityID int64 `gorm:"index:idx_shellcode_offensive_security_id" json:"-"`
	Base                `gorm:"embedded"`
	Size                string `gorm:"type:varchar(255)" json:"size"`
}

ShellCode : https://gitlab.com/exploit-database/exploitdb/-/raw/main/files_shellcodes.csv

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL