XSS漏洞篇——JavaScript簡單講解

2020-09-03 信息安全教學

一、JavaScript語言概述

JavaScript是網際網路上最流行的腳本語言,這門語言可以用於HTML和web,是一種輕量級別的程式語言,可以插入HTML頁面的編程代碼並且插入到HTML頁面後,可由所有的現代瀏覽器來執行。

我們在利用xss漏洞的時候,構造執行自己目的的效果的JavaScript代碼去獲取cookie、釣魚、掛馬、植入廣告等等,我們必須學習一些相關的JavaScript基礎,才對xss漏洞進行更深的利用。


二、JavaScript函數

JavaScript函數是被設計為執行特定任務的代碼塊,在某代碼調用它的時候被執行。

Function name(參數1、參數2、參數3){要執行的代碼}

JavaScript函數通過function關鍵詞進行定義,其後是函數名相同的括號()。

函數名可包含字母、數字、下劃線和美元符號(規則與變量名相同)。

圓括號可包含分隔的參數。

函數參數(function parameters)是在函數中所列的名稱。

函數參數(function arguments)是當期調用函數時函數接收的真實值。


JavaScript演示

<!DOCTYPE html><html><head><meta charset=&34;><title>阿星</title></head><body><p>點擊這個按鈕,來調用帶參數的函數。</p><button onelick=&39;Harry Fotter&39;Wizard&34;>點擊這裡</button><script>function myFunction(name,job)( alert(&34; + name,&34;+job); ) </script> </body> </html>


三、JavaScript事件

HTML事件是發生在HTML元素上的事件,當HTML頁面中使用JavaScript的時候,JavaScript可以觸發這些事件。

在事件觸發的時候JavaScript可以去執行一些代碼,HTML元素中可以添加事件屬性,使得JavaScript代碼來添加html元素。

<some-HTML-element some-event=』JavaScript代碼』>

<!DOCTYPE html><html><head><meta charset=&34;><title>阿星</title></head><body><button onclick=&39;>現在的時間是?</button></body></html>

這個函數也是得到一個當前時間


常見的HTML事件


四、JavaScript對象


JavaScript中的所有事物都是對象:字符串,數值,數組,函數等

此外,JavaScript允許自定義對象,對象只是一種特殊的數據,對象擁有屬性和方法。


屬性是與對象相關的值,訪問對象屬於的語法是:

objectName.propertyName

示例

<!DOCTYPE html><html><head><meta charset=&34;><title>阿星</title></head><body><script>funotion person(firstname,lastname,age,eyecolor){ this.firsrname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor;}myFather=new person(&34;,&34;,&34;);document.write(myFather.firstname +&34; + myFather.age +&34;);</script></body></html>

在JavaScript中幾個常見對象document屬性

註:轉載請註明出處

相關焦點

  • Web滲透測試(XSS)
    XSS 漏洞的驗證可以使⽤⼀段簡單的代碼,驗證和檢測漏洞的存在,這樣的代碼叫做POC(Proof of Concept)驗證XSS 漏洞存在的POC 如下:alert(/xss/);confirm(&39;);prompt(&39;);<script>alert
  • XSS攻擊的原理
    概念說明Xss(cross-site scripting)攻擊指的是攻擊者往Web頁面裡插入惡意html標籤或者javascript代碼,當用戶瀏覽該頁或者進行某些操作時,攻擊者利用用戶對原網站的信任諸如此類,唯一能完全杜絕xss攻擊的方法,就是禁用script,img等,顯然這是不靠譜的,用戶需要豐富的頁面內容;當然我們可以用一些方法預防xss攻擊,儘量減少xss造成的危害。
  • 「炒乾貨」XSS知識總結
    Access-Control-Allow-Origin:*# 允許所有域名訪問,或者Access-Control-Allow-Origin: http://a.com # 只允許所有域名訪問CORS又分為簡單跨域和非簡單跨域請求,有關CORS的詳細介紹請看
  • XSS繞過及防禦(Web漏洞及防禦)
    /)>http://192.168.10.128/DVWA-master/vulnerabilities/xss_d/?var name="tony";// JS引擎沒有把換行符解釋為語句的終止符,因為到換行處並不是一個完整的語句,會繼續處理發現的內容// 直到遇到一個分號或發現語句完整為止繞過過濾:<img src="javascript:alert(/xss/)" width=100
  • Csrf+Xss組合拳
    0x02這個站簡單的先用手機看了下,這種網課站我感覺xss比較好尋找一些,所以我找到的都是一些存儲型xss,先看一下第一個基本沒鳥用的xss用戶個人資料處更改姓名成功顯示彈窗經測試1.學號2.身份3.學校4.姓名處均存在存儲型xss
  • 經驗分享 | XSS手工利用方式
    XSS前言在面對xss漏洞的時候,筆者通常會簡單的找個xss平臺,插入一段平臺的xss代碼,盜取個cookie,就自以為是的認為自己掌握了xss漏洞。這篇文章旨在拋開xss漏洞平臺,從簡單利用原始碼的角度,分享一下如何利用xss獲取用戶的cookie信息。在實際滲透中,筆者通過自己寫利用代碼的方式,先後運用xss實現了挖礦、簡單的DDOS攻擊測試、獲取cookie、內網埠、截屏等。聲明:本文僅涉及技術討論,請勿用於任何非法用途!
  • PHP安全篇之XSS攻擊
    $_GET['username'];}上面代碼直接使用了$_GET['username']參數,並沒有做任何的過濾與檢查,存在明顯的xss漏洞。漏洞利用:輸入<script>alert(/xss/)</script>後,成功彈窗。
  • XSS語義分析的階段性總結(二)
    前言上次分享了javascript語義分析,並且簡單介紹了新型xss掃描器的一些想法,如何在不進行大量fuzz的情況下又能準確的檢測出xss漏洞,這其中我們又可以儘量的避免觸發waf的xss防護功能!關聯文章:XSS語義分析的階段性總結(一)首先先接著上文介紹一下html語義分析的方法。
  • 【乾貨滿滿】網絡安全從業者不可忽略的XSS備忘錄(下)
    "#x" attributeName="xlink:href" begin="4s" to="javascript:alert(1)" />17</marker>1819<mask id="e">20<set xlink:href="#x" attributeName="xlink:href" begin="5s" to="javascript
  • XSS(跨站腳本攻擊)內容總結整理
    現在測試xss一般都拿能過chrome的為主2、現在的chrome瀏覽器默認開啟了xss過濾機制,可以通過關閉該機制來進行xss測試,方法如下:windows下,右鍵桌面中的"Google Chrome"快捷鍵,然後在目標選項,chrome.exe後面加上參數:--args --disable-xss-auditor即可。
  • XSS 攻擊入門基礎
    但是,當她輸入了不正常的關鍵詞時,例如 <script>alert(『xss』)</script>,點擊搜索按鈕後,出現了一個提示有 「xss」 的彈窗,頁面上展示 「 not found」。此時 URL 為 http://bobssite.org/search?
  • 黑客大神熬夜整理的xss各種騷操作
    :al\u0065rt(1)&34;javascript:%0a%61l\u0065rt(1);&34;javascript:al\u0065rt(1)&34;javascript:alert(1)&34;j%61vascript:alert(1)&34;j%61vascript:alert(1)&x5C;&x28;1)>此處的注意點有:不能編碼標籤的 <>、屬性、等號
  • 一次bypass Xss-waf的經歷
    接到測試網站,利用crawlergo+XRAY掃到了一個xss,這是入口點。打開網頁長這個樣子。最後,幸運之神還是眷顧了我,讓我找到了沒有被waf住的包例如:javascript:alert(document.cookie)在javascript接著的語句中,進行編碼後依舊可以進行識別
  • 用最簡單的話,一分鐘講明白xss和csrf攻擊,以及如何防禦
    現在網站經常會遭受到一些攻擊,使得用戶信息洩露或者用戶個人財產受到損傷,本文用最簡單的語言,講述一下xss和csrf攻擊,以及他們的防禦手段。什麼是xss攻擊呢?那麼如何預防這個xss攻擊呢?甚至把單雙引號,斜杆這些腳本經常使用到的符號進行轉義,從而導致xss攻擊失效。具體可以在前端提交前做一層過濾,後臺再過濾一次,這樣xss基本就失效了。
  • xss攻擊原理與解決方法
    看一下下面這個例子:<div id="el" style="background:url('javascript:eval(document.getElementById(
  • 淺談 React 中的 XSS 攻擊
    query=<img src=&34; onerror =&39;xss&34;>// 該 URL 將導致以下響應,並運行 alert(&39;):<p>您搜索的是: <img src=&34; onerror =&39;xss&34;></p>// 如果有用戶請求攻擊者的
  • Spring Boot XSS 攻擊過濾插件使用
    xss 攻擊流程簡單 xss 攻擊示例若網站某個表單沒做相關的處理對 json 字符串數據進行 xss 處理。提供路由和控制器方法級別的放行規則。使用 mica-xss引入一下 依賴即可<!")public String xss(String params){ return params;}返回為空⋊> ~ curl --location --request GET 'http://localhost:8080/xss?
  • JavaScript入門
    這三項技術中,HTML和CSS比較簡單,JavaScript則相對來說複雜得多。所以,前端工程師的學習時間,大部分都花在JavaScript上。本文主要講解一些JavaScript的入門知識。1、什麼是JavaScriptJavaScript發布時,是一款在WEB瀏覽器上運行,由事件驅動的、基於對象的腳本語言。JavaScript不是一種特殊的Java語言,甚至可以說和Java沒有關係。
  • 視圖層wxml和wxss文件
    圖1 wxml代碼示例如圖1所示,給出一個簡單的demo,第一行是注釋,第2行到第8行,是一個view組件,可以理解為html中的<html>組件,裡面的所有內容就是要呈現在頁面上的。圖2 代碼運行效果圖圖2展現了圖1中代碼的效果圖,wxml就是對組件的簡單的呈現。2.數據綁定在js文件的介紹中,我們也提及了簡單數據綁定的內容,下面我們再做進一步的分析。
  • 一些BAT的XSS實例(一)
    http://px1624.sinaapp.com/test/xsstest1/http://px1624.sinaapp.com/test/xsstest2/http://px1624.sinaapp.com/test/xsstest3/http://px1624.sinaapp.com/test/xsstest4/