HackingLab之指令碼關攻略

2021-10-09 02:59:10 字數 1729 閱讀 9526

開始指令碼關的攻略!!

本次依舊無題目描述。

網路資訊保安攻防學習平台

這題不是跟基礎關的第八題一樣嗎?使用的python**也只用改一下url,key就直接出來了。

import requests

url = ""

r = requests.get(url,allow_redirects=false)

# 請求獲取url位置的資源,包含從伺服器返回的所有內容

r.encoding = 'utf-8'

print(r.text)

yougotit_script_now

第二關需要在兩秒內計算式子並提交,但很顯然兩秒的時間就算能算出來也不夠輸入。

所以我們需要寫乙個指令碼能夠計算這個式子並且提交答案。

我們通過re模組,使用正規表示式提取算數表示式。由於他的式子只有a*b+c*(d+e)的形式,所以我們的正規表示式只需匹配這種表示式,即(\d+[+*])+((\d+)+(\d+))。

另外需要注意的一點是,由於每次訪問的時候式子都會改變,所以我們需要保持會話,讓我們獲取式子和提交答案訪問的是同乙個會話。

import requests

import re

url = ""

#維持會話,可以讓我們在跨請求時儲存某些引數

session = requests.session()

# 請求獲取url位置的資源,包含從伺服器返回的所有內容

r = session.get(url);

'''r''一般用在正規表示式中,稱為原始字串,作用是將python語法中的反斜槓轉義給取消,將其設定成為乙個普通的字串。

可以解決python中的轉義字元和正規表示式中的轉義字元之間的衝突問題。

'''expression = re.search(r'(\d+[+*])+\((\d+)\+(\d+)\)',r.text).group()

# eval() 函式用來執行乙個字串表示式,並返回表示式的值。

result = eval(expression)

print(expression)

print(result)

r = session.post(url,data=);

# 請求獲取url位置的資源,包含從伺服器返回的所有內容

r.encoding = 'utf-8'

print(r.text)

123iohhkhj%^&*(jkh

第三關的關鍵字就是空。

我一開始想難道是要求我們直接提交空資訊?什麼都不填點提交卻彈出「請輸入答案」的視窗。於是我將判斷空資訊的js**刪去,卻發現並沒有什麼效果。

最後查了答案,才發現需要填null。

null

檢視原始碼,發現head中有一大堆js**

顯然第乙個函式function alert(a)導致a函式無法執行。將網頁儲存到本地,然後刪去此函式再次開啟即可。

不過要注意』chars』不算在14個字元當中

hackinglab 指令碼關 writeup

key又又找不到了 點選提供的鏈結後,實際發生了兩次跳轉,key 在第一次跳轉的網頁中,key is yougotit script now 快速口算 要求2秒內提交結果,肯定不能手動算了,寫程式獲取算式並計算出結果提交 usr bin env python3 author renzongxian ...

kali下Xerxes指令碼實現DDOS攻擊

1 cd tmp git clone cd xerxes gcc xerxes.c o xerxes xerxes 目標 www開頭 埠,一般是80 如果感覺效果不是很明顯,可以多開幾個視窗跑一樣的內容。檢測 是否down掉了。把要檢測 粘入即可。示例指令碼xerxes.c xerxes most ...

快速口算指令碼關實現

第2題 快速口算 小明要參加乙個高技能比賽,要求每個人都要能夠快速口算四則運算,2秒鐘之內就能夠得到結果,但是小明就是乙個小學生沒有經過特殊的培訓,那小明能否通過快速口算測驗呢?這裡的過關位址,每次get請求得到的資料都是變化的,所以需要我們使用指令碼獲取到相應的資料,並使用指令碼計算,這個就很容易...