如何繞過 BKY 對 script 的遮蔽

2022-01-23 15:25:00 字數 2943 閱讀 4533

conmajia

january 20, 2019

警告這是試驗,警告個屁,請不要多多嘗試用它做多餘的事。

果不其然,這篇文章立刻被移出主頁了,我就說嘛,bky 哪兒會那麼包容和坦然呢?

document.title = "[我是 js 生成的!] " + document.title標題其實是有點問題的,會讓人覺得我在搞破壞,找漏洞。nonono,這是誤會,我最多就是想拿 js 改改預設的主題什麼的。實際上,這種擔心是不存在的。 bky 本身並沒有遮蔽 js 指令碼,甚至在後台主動開放了 html 許可權,以乙個 bk **來說,比較良心了。加上現在改成 markdown 編輯器,還支援文章正文內插入 html,整個 bk 的可玩性更高了。

畢竟它壓根兒就沒有擴充套件功能的外掛程式和可編輯的主題,再不開放許可權還玩您

呢?只是總有人不小心搞出一些事來,為了**安全,不得不遮蔽掉文章裡的後面的正文然後把文章發表出來,你會發現這段壓根兒就不顯示、不執行,煙兒似的就消失了,屁反應沒有。

那怎麼辦啊,就沒招改改預設主題了嗎?好些人說,

預設主題也挺好的啊,還有那麼多五顏六色的可以選呢。

您是認真的嗎?啊?預設的那些主題實在是太難看了啊,難道這就是傳說中的程式設計師的審美觀麼?9021 年了,醒醒,大清已經亡了!村里通網多少年了,web 都已經 4.0,5.0,6.0 了,老鐵!

好看嗎?那您還挺淳樸的呢 :)

如果某天你意識到了這一點,精通增刪改查的你也許會想要給自己的 bk 整個容?加點料?刪點自帶的垃圾?在讀者開啟你每篇文章時都跳出點不同的東西?

你知道我在說什麼,畢竟你那麼聰明。

—conmajia

都已經開放 html 了,你當然可以用各種姿勢咯美化介面咯,我這個 bk 就有很多東西是**生成的。還有乙個好處是增強了文章的互動性,提高讀者參與度。比如你要講隨機數,編了無數**,作者寫得天花亂墜,讀者看得暈頭轉向:

math.random()
吧啦吧啦半天,能有我乙個按鈕的效果好?

點一下試試

《隨機數》

$('#random-tag').text(math.random());
如何評價程式設計師的審美?

走進地鐵的一瞬間,大家感受到了前所未有的尷尬,有人說這是程式設計師下班了……

所以現在我來說說怎麼執行文章正文裡的 js **。你知道的,js 有乙個eval函式專門 evaluate 字串形式的**。那麼,look at 管理→設定自定義 html 的地方:

非常幸運,eval函式可以執行,這就簡單至極了。既然正文裡的這樣,頁面載入完後,就會依次執行正文裡所有標籤內的**了。美觀一點,可以把所有都隱藏起來:

/* css 設定 */

run

前面的正文

document.title = math.random()

後面的正文

這不就繞過遮蔽了?但是吧,我給的例子裡只簡單地使用了eval,它有時候是不靈光的。因為 markdown 編輯器會把**裡的$*_這些特殊符號識別成格式開關,然後把**渲染得面目全非,根本沒法用。所以你需要想辦法阻止編輯器解析你的**!來看個稍微複雜點的例子

$('html').attr('lang', 'zh-cn');

$('title').text(math.random() * 100 * 99);

(′

html

′).a

ttr(

′lan

g′,′

zh−c

n′);

" role="presentation">('title').text(math.random() * 100 * 99);

大部分是 mathjax 的數學公式解析,因為它用$作為行間公式的識別符,而 jquery 好死不死幾乎全是$……至於解決方案,最簡單的就是用jquery代替$,畢竟這倆是等價的。或者你可以想點別的招。有一種臨時的解決方案是把**放在的某個屬性裡,eval改成從屬性中讀取,比如:

$('run').each(function());

需要說明的是,這篇文章寫的東西並不是找出 bky 的 bug,最多算留出了非常大的自由度。至於怎麼使用,還是得看個人素質了。

我說明個幾把。

the end. \(\box\)

黑客是如何繞過WAF的

1.什麼是waf 通過執行一系列針對http https的安全策略來防禦對web應用的攻擊。目前主要有單裝置waf與雲waf 2.waf的現狀 1.太多數waf能夠攔截較為普通的web攻擊 2.大多數waf沒有針對熱點漏洞奇葩攻擊exp防禦的能力 3.基本所有的waf都存在策略性繞過 4.由於waf...

1 2 0之後的es版本如何執行script

新版本的es預設已經禁止直接執行script了,那麼要如何才能執行script呢?方式一 在yml檔案中直接配置 該方式允許直接執行script script.disable dynamic true 方式二 在config資料夾下建立scripts資料夾,將所需的指令碼分檔案放好,檔案命名中不要出...

技巧 如何繞過MaxtoCode的15天限制

maxtocode是一款針對.net軟體的加密工具,參見官方 的介紹 maxtocode is an advance software encrypting net code it uses the windows lower level technology dotnet is symbol of...