成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

怎樣使用js-x-ray檢測JavaScript和Node.js中的常見惡意行為

本篇文章給大家分享的是有關(guān)怎樣使用js-x-ray檢測JavaScript和Node.js中的常見惡意行為,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)建站專注于合肥企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都商城網(wǎng)站開發(fā)。合肥網(wǎng)站建設(shè)公司,為合肥等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)建站專業(yè)和態(tài)度為您提供的服務(wù)

js-x-ray

js-x-ray是一款功能強大的開源SAST掃描工具,其本質(zhì)上是一個靜態(tài)分析工具,可以幫助廣大研究人員檢測JavaScript和Node.js中的常見惡意行為&模式。

該工具可以執(zhí)行JavaScript AST分析,其目的是導(dǎo)出Node-Secure AST Analysis以實現(xiàn)更好的代碼演化,并允許開發(fā)人員和研究人員更好地訪問。該工具的主要目標是為了幫助開發(fā)人員和安全研究人員快速識別危險的代碼和模式。不過,想要完全解析該工具的輸出結(jié)果,還是要求我們具備一定的安全知識。

該項目的目標是成功檢測所有可疑的JavaScript代碼,即那些顯然是出于惡意目的添加或注入的代碼。大多數(shù)時候,網(wǎng)絡(luò)攻擊者會盡量隱藏他們代碼的行為,以避免觸發(fā)檢測引擎或增加分析人員的分析難度。而js-x-ray的任務(wù)就是理解和分析這些模式,以幫助我們檢測到惡意代碼。

功能介紹

  • 檢索js所需的依賴項和文件;

  • 檢測不安全的正則表達式;

  • 當AST分析出現(xiàn)問題或無法遵循語句時獲取警告;

  • 突出顯示常見的攻擊模式和API調(diào)用;

  • 能夠跟蹤并分析危險的js全局使用;

  • 檢測經(jīng)過混淆處理的代碼,并在可能的情況下檢測已使用的工具;

工具安裝

js-x-ray包可以直接從Node包代碼庫中直接獲取,或者使用npm或yarn來進行在線安裝:

$ npm i js-x-ray

# or

$ yarn add js-x-ray

工具使用

使用下列內(nèi)容創(chuàng)建一個本地.js文件:

try  {
    require("http");
}
catch (err) {
    // do nothing
}
const lib = "crypto";
require(lib);
require("util");
require(Buffer.from("6673", "hex").toString());

接下來,使用“js-x-ray”命令來對目標JavaScript代碼進行分析:

const { runASTAnalysis } = require("js-x-ray");
const { readFileSync } = require("fs");
const str = readFileSync("./file.js", "utf-8");
const { warnings, dependencies } = runASTAnalysis(str);
const dependenciesName = [...dependencies];
const inTryDeps = [...dependencies.getDependenciesInTryStatement()];
console.log(dependenciesName);
console.log(inTryDeps);
console.log(warnings);

分析將返回http、crypto、util和fs。

在該項目的cases目錄下還提供了很多可以分析的可疑代碼示例,感興趣的同學可以使用js-x-ray來對它們進行分析。

返回的警告

名稱

描述

parsing-error

使用meriyah解析JavaScript代碼時出錯。這意味著從string到AST的轉(zhuǎn)換失敗了。

unsafe-import

無法跟蹤導(dǎo)入 (require, require.resolve) statement/expr。

unsafe-regex

正則表達式已被檢測為不安全,可能被用于ReDoS攻擊。

unsafe-stmt

使用了危險的語句,例如 eval()或Function("")。

unsafe-assign

分配了一個受保護的全局進程。

encoded-literal

檢測到已編碼的文本(可以是六進制值、unicode序列、Base64字符串等)。

short-identifiers

這意味著所有標識符的平均長度都低于1.5。僅當文件包含5個以上標識符時才可能返回。

suspicious-literal

這意味著所有文字的可疑分數(shù)之和大于3。

obfuscated-code (experimental)

代碼可能經(jīng)過了混淆處理。

API

runASTAnalysis

interface RuntimeOptions {

    module?: boolean;

    isMinified?: boolean;

}

該方法接收的第一個參數(shù)就是我們需要分析的代碼,它將返回一個Report對象:

interface Report {

    dependencies: ASTDeps;

    warnings: Warning<BaseWarning>[];

    idsLengthAvg: number;

    stringScore: number;

    isOneLineRequire: boolean;

}

generateWarning

interface WarningOptions {

    location: Location;

    file?: string;

    value?: string;

}

rootLocation()

返回一個默認的SourceLocation,并包含下列內(nèi)容:

{ start: { line: 0, column: 0 }, end: { line: 0, column: 0 } }

許可證協(xié)議

本項目的開發(fā)與發(fā)布遵循MIT開源許可證協(xié)議。

以上就是怎樣使用js-x-ray檢測JavaScript和Node.js中的常見惡意行為,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)頁標題:怎樣使用js-x-ray檢測JavaScript和Node.js中的常見惡意行為
URL網(wǎng)址:http://jinyejixie.com/article26/ggshjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站策劃做網(wǎng)站、網(wǎng)站導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
石河子市| 广河县| 金湖县| 碌曲县| 徐水县| 江都市| 柘荣县| 扶余县| 哈巴河县| 探索| 徐水县| 霸州市| 禄丰县| 禄丰县| 中阳县| 谢通门县| 从化市| 桦甸市| 富宁县| 延吉市| 英吉沙县| 阳江市| 西乌珠穆沁旗| 上栗县| 上饶县| 大方县| 玛纳斯县| 闽侯县| 河津市| 景东| 赫章县| 曲麻莱县| 明星| 刚察县| 吉安县| 文成县| 灵寿县| 上思县| 莲花县| 临洮县| 郯城县|