1.對於flask模板注入,首先是要判斷是否為注入點,即通過輸入表示式}觀察程式是是否執行,輸出結果。
2.__mro__與__base__的區別在於,__mro__返回的是乙個物件所屬的類繼承的全部類,可以有很多個。__base__返回的是其繼承的基類,只有乙個。
3.__subclasses__該模組是查詢到的結果是乙個類的全部子類,我們需要在這些子類中尋找可以利用的子類。這個模組返回的資料往往有很多,可以通過將這些資料存入到list,通過list.index('')來輸出所需要的的模組所在的位置。(我用的py指令碼會附在下面)可以利用的子類:warnings.catch_warnings(一般在59)、socket._socketobject(一般在71)、site._printer等模組。
warnings.catch_warinings是沒有內建os模組的需要匯入os模組(可自行驗證)
4.__builtins__是python的內建模組,內含有python內建的函式。可以通過此模組來呼叫內建函式如:eval、exec、open。也正是可以利用這些方法進行命令執行、檔案讀取。
5.os模組提供了多數作業系統的功能介面函式。當os模組被匯入後,它會自適應於不同的作業系統平台,根據不同的平台進行相應的操作。os模組中可以利用的函式:system(command)執行shell命令、listdir(dirname)列出dirname下的目錄和檔案、popen從乙個命令開啟乙個管道進行檔案讀取等。
6.區分python2和python3可以查詢__builtins__中是否有file有file的話是2沒有的話是3
收藏的pos讀目錄、檔案}}
}}}頁面沒有回顯時
#命令執行: #
先通過for迴圈根據模組名尋找符合要求的模組}#
如果找到該模組就進行後續的函式操作
#結束判斷結束迴圈
#檔案操作
}
#查詢需要的類在第幾位
#輸入查詢出來類的列表和需要借助的類名稱
deffind():
list = ""
list = list.replace('
\'',''
) list = list.replace('
<
',''
) list = list.replace('
>
',''
) list = list.replace('
class
',''
) list = list.replace('
enum
',''
) list = list.replace('
type
',''
) list = list.split(','
)
(list)
classname = '
warnings.catch_warnings
'num =list.index(classname)
(num)
if__name__ == '
__main__':
find()
列隊題解以及注意事項
這道題顯然要使用資料結構維護。但是n的規模十分大。我們便可以開n棵線段樹,動態開點。但是最後一列比較特殊,所以我們再開一棵線段樹維護最後一列。至於怎麼操作?我們考慮權值線段樹。權值線段樹一般是維護 權值為 l,r 的數有多少是滿足某種條件的。本道題目中我們維護區間 l,r 中有多少個數沒有操作過。線...
C 多型以及其注意事項
1 虛函式 覆蓋以及多型的概念 1 class 基類 的成員函式,稱為虛函式或方法。2 覆蓋 如果子類的成員函式和基類的虛函式具有 相同 的函式原型,那麼該成員函式就也是虛函式,無論其是否帶有virtual關鍵字,且對基類中的虛函式構成覆蓋。class 子類 public 基類 3 多型 如果子類提...
靜態的特點以及注意事項
static方法是類中的乙個成員方法,屬於整個類,即使不用建立任何物件也可以直接呼叫 優先於物件存在,被所有物件所共享 靜態方法 效率上要比例項化高,靜態方法 的缺點是不自動進行銷毀,而例項化的則可以做銷毀。靜態會隨著類的消失而消失,說明他的生命週期最長 1 靜態方法只能訪問靜態成員 2 靜態方法中...