WEB滲透安全:JS函數

2020-12-25 騰訊網

0x01 JS 自定義函數

函數(Function) , 有時也被稱為方法(Method) , 或者程序(Procedure)。

是一段預定義好, 並可以被反覆使用的代碼塊 , 其中可以包含多條可執行語句。

函數本質上是功能完整的對象。

函數的定義

使用關鍵字function定義一個函數

在定義函數的時候,要明確函數的主要功能。

函數要想運行,需要進行調用

函數名的定義規則與標識符(變量名)一致 , 大小寫敏感

最簡單的函數定義 :

function printHello(){

console.log("Hello,World");}

定義參數與返回值

聲明執行參數

使用return 定義返回值。

function add(a,b){

var sum = a+b;

return sum}

函數的調用

var result = add(10,20);console.log(result);

作用域

作用域就是變量與函數的可訪問範圍 , 它控制著變量與函數的可見性和生命周期。

在JavaScrip中 , 變量和函數的作用域分為 :函數作用域(只在當前函數內可訪問),全局作用域 (一經定義 , 在代碼中任何地方都能訪問)。

函數作用域中的變量(局部變量)

function add()console.log(sum);

全局作用域中的變量

var sum = 10;function test(){

var sum = 20;

console.log(sum);//20}test();console.log(sum);//10

0x02 JS 內置函數document.write()

在頁面中輸出相關字符串。

document.write("hello,world!")

consoel.log()

在控制臺中輸出相關內容。

console.log("hello,world!");

prompt()

彈出輸入框

var pass = prompt("請輸出你的密碼");

confirm

確認框,返回false 或true。

var flag = confirm("今晚小樹林兒見,可以嗎?")

alert()

彈出一個警告框。

alert("我想見你!")

eval()

將字符串當做JS 代碼來執行。

var a = "document.write('My Name is AJEST')";//undefineda;//"document.write('My Name is AJEST')"typeof(a);//"string"console.log(a);//undefined //document.write('My Name is AJEST')

eval(a);

substr()

字符串截取函數

substr(x,y) ,x 代表字母的偏移量,y 代表取幾個字母。

var b = "abcde";b.substr(1,3);//"bcd"

與substring() 用法相同。

相關焦點

  • Web3.js基於以太坊的Javascript API
    web3.js是一個庫集合,你可以使用HTTP或IPC連接本地或遠程以太它節點進行交互。 web3的JavaScript庫能夠與以太坊區塊鏈交互。 它可以檢索用戶帳戶,發送交易,與智能合約交互等。如果是這樣,我們可以獲取到它的提供者並使用它來創建我們的web3 object。如果沒有注入web3實例,我們將根據本地提供程序創建web3對象。 (這種後備適用於開發環境,但不安全且不適合生產環境。)
  • 使用 Web3 和 Vue.js 來創建你的第一個以太坊 dAPP(二)
    現在開始在我們的全新的store目錄(上一章的最後一部分)創建兩個文件:index.js和state.js;我們由state.js開始,這個文件將會作為一個新的我們檢索數據的代表。Get user balance*/let getWeb3 = new Promise(function (resolve, reject) {  // Check for injected web3 (mist/metamask)  var web3js = window.web3  if (typeof web3js !
  • Node.JS快速入門
    Node.js 是一個基於Chrome JavaScript 運行時建立的一個平臺。 Node.js是一個事件驅動I/O服務端JavaScript環境,基於Google的V8引擎,V8引擎執行Javascript的速度非常快,性能非常好。
  • 區塊鏈100講:從寵物商店案例看DAPP架構和WEB3.JS交互接口
    web3.eth.isSyncing(callback)提供同步開始,更新,停止的回調函數方法。(blockHashStringOrNumber, uncleNumber [, returnTransactionObjects] [, callback])通過指定叔位置,返回指定叔塊。
  • 零基礎如何學習Web安全滲透測試?這可能是史上最詳細的自學路線圖!
    正所謂「 Web 安全滲透」,你剛入門就把重心放在後面的「安全滲透」,而不是前面的「Web」,脫離 Web 技術搞滲透,這就屬於典型的本末倒置。總而言之,我們要真正學懂學通「Web 安全滲透」,一定需要一個科學合理、循序漸進、第一原理驅動的學習路線,千萬不要「瞎折騰」,不要急著學「滲透」,更不要一上來就用「工具」。
  • node.js、MongoDB下一代的LAMP
    比如越來越多的Nginx開始取代Apache,緩存層將MySQL的功能逐漸弱化,甚至越來越多的NoSQL產品以其簡單靈活和高性能開始向MySQL的地位發起挑戰,今天要說的是一個全新的組合:Unix系列系統,加node.js,再加上MongoDB組成一個新的web開發框架。
  • 谷歌也發布了Web前端機器學習庫,就叫deeplearn.js
    現在谷歌也決定在機器學習前端開發領域添一把柴,昨天發布了開源了自己的前端機器學習庫 deeplear.js(https://pair-code.github.io/deeplearnjs/ )。deeplearn.js 就是 PAIR 出力、藉助了谷歌大腦團隊的一點幫助開發出來的,它除了支持構建可微的數據流圖、帶有可以直接使用的數學函數外,還使用 WebGL 來加速訓練和推理過程,從而提供了高性能的機器學習模型開發平臺,可以在瀏覽器環境下訓練模型或者用訓練好的模型做推理。PAIR 希望對機器學習感興趣的人可以把它用在教育、理解模型、藝術工作等各個領域。
  • 10 個最適合 Web 和 APP 開發的 NodeJS 框架
    Node.js Express 對於一個已經在使用 node.js 的開發人員來說,Express 或者」node.js express」並不是一個新鮮事。Express 框架提供了對 node.js 原生 API 的比較好的封裝,從而使開發者更加容易地使用node.js。 Express 框架提供了用來開發強壯的 web/移動應用,以及 API 的所有功能。
  • Node.js與Ruby on Rails:二者哪個最適合Web開發?
    js與Ruby on Rails的web開發。我寫這篇文章的主要原因是,我們的團隊經常被問到哪種語言或者哪個框架最適合學習。無論如何,我們從不給出一個簡單的答案,因為它們不是明確的答案。所以我認為最好的方法就是看看所有的事實和統計數據。我們來看看這兩個節點的一些優點和缺點。js和Ruby on Rails的伺服器端技術。在我們開始之前,我想做幾個要點。
  • JavaScript 模板引擎 Velocity.js
    Velocity.js是Velocity模板語法的Javascript實現。Velocity模板適用於大量模板使用的場景,支持複雜的邏輯運算,包含基本數據類型、變量賦值和函數等功能。Velocity語法具有很高的容錯能力,類似於html結構的解析,同時語法規則複雜。velocity.js兼容ie6+,chrome等其他瀏覽器。
  • 使用 AngularJS & NodeJS 實現基於 token 的認證應用
    你可以存放任一種信息,比如用戶信息,產品信息等。它們都是使用 base-64 編碼方式進行存儲。signature 包括了 header,payload 和密鑰的混合體。密鑰必須安全地保存儲在服務端。你可以在下面看到 JWT 剛要和一個實例 token:
  • 後端Web開發:Node.js和Java
    後端JavaScript的高採用率與Node.js運行時使用率的增加相關。在今年的調查中,42%的受訪者表示他們的組織使用Node.js生態系統。這比2017年的35%有所上升,幾乎反映了過去一年伺服器端JavaScript的增長率。在使用Node.js生態系統的受訪者中,54%的受訪者使用全棧開發項目,40%使用後端開發項目。
  • 為什麼Node.js是Web開發人員必備工具?
    Node.js是Web開發人員一個有趣優秀的開發庫,它憑藉高並發性,目前已成為開發者選擇在Web開發中使用的主要工具之一,一般都是開發者的第二備選。自2009年11月8日創始人Ryan Dahl在歐洲JSConf上引入Node.js以來,它已在整個技術行業得到廣泛使用。比如Netflix,Uber和LinkedIn等科技公司對Node.js可以承受大量流量和高並發性的說法給予了很好信任。
  • d3.js漫遊指南
    除了d3.js的API外,還有很多需要學習,既包括web標準方面的技術知識,例如HTML、SVG、CSS、JavaScript,也包括溝通概念和數據可視化原則。你大概已經對此有所了解,所以這篇指南試圖為你提供一個良好的起點,幫助你學習更多你想要深入的內容。
  • 使用JS和NodeJS爬取Web內容
    首先,使用 axios HTTP 客戶端庫的一個簡單 HTTP GET 請求獲取網站的 HTML,然後使用 cheerio.load() 函數將 html 數據輸入到 Cheerio 中。接下來使用瀏覽器的開發工具,你可以獲得通常可以定位所有 postcard 的選擇器。如果你用過 JQuery,肯定非常熟悉 $('div > p.title > a')。
  • web worker的介紹和使用
    簡介什麼是web worker呢?從名字上就可以看出,web worker就是在web應用程式中使用的worker。
  • 函數的概念及作用
    注意: 函數體內,外面怎麼寫js代碼,這裡也如何寫JS代碼。 只需要一個src指定一下我們寫的js路徑即可 運行效果和之前一樣,輸出了10個:
  • .Net Web開發技術棧(更全的知識體系)
    信息加密技術:單向散列加密(雜湊函數、Hash函數)對稱加密非對稱加密(公私鑰加密)SSLSecure Socket Layer,安全套接字層,保護Web通訊,以實現客戶端和伺服器之間的安全通訊HTTPS:是在HTTP上建立SSL加密層,並對傳輸數據進行加密,是HTTP
  • 常規web滲透測試漏洞合集
    3、嚴格檢查include類的文件包含函數中的參數是否外界可控。  4、不要僅僅在客戶端做數據的驗證與過濾,關鍵的過濾步驟在服務端進行。任意文件下載漏洞描述文件下載處由於未對下載路徑進行過濾,利用路徑回溯符..
  • web滲透測試對信息收集的方法介紹
    什麼是web滲透測試?一般是指通過模擬黑客的攻擊手法,對計算機網絡系統進行安全評估測試,如果發現系統中存在漏洞,向被測試系統的所有者提交滲透報告,並提出補救措施。這一章將通過滲透測試Web應用和伺服器,向大家介紹滲透測試的方法和技巧。