web 培訓的 知識點

2021-08-26 03:00:13 字數 1211 閱讀 6459

一.關於序列化和反序列化的初步理解

serialize() 這個函式是將傳入的東西進行序列化;

unserialize() 這個函式是將傳入的東西進行反序列化;

傳值的時候當a-z a-z 0-9 _ 這些字元被過濾的時候,用其他的字元進行python異或的**,用倆字元異或進行讀取相應的檔案。

#encoding=utf-8

import re

word=''

re_search="[0-9a-za-z_]"            #正則匹配不要的

flag="get"                           # 需要亦或出來的字串 //這裡輸入你想改的字元,比如getflag啥的

for i in range(32,126):

# print(chr(i))

if re.search(re_search,chr(i))==none:

# print(chr(i))

word+=chr(i)

print("可用字串有:",word)

for i in word:

for j in word:

if chr(ord(i)^ord(j)) in flag:

print((i),(j),chr(ord(i)^ord(j)))

輸出的字元隨便用,只要記得在倆字元間加  ^  符號。

一些盲注,然後通過ls的方式爆當前目錄的檔案

爆當前目錄的檔案

<?php

class  test

$b= new test();

$b->key = 'flag.php';

echo serialize($b); //先序列化一遍

echo md5('o:4:"test":1:'); //**序列化之後用md5加密,然後hash傳值

?>

最後訪問,去爆flag.php的內容,一般有 cat 這個函式直接爆,

有時候 ls不會爆所有檔案

在注入的時候 要用 ground_cat

關於linux的指令

當大部分常用的指令被過濾的時候,可以去尋找還沒過濾的指令,然後去構建指令。

使用@

web安全知識點

前端資料的不信任原則 對使用者輸入校驗包括 表單驗證 正規表示式規範資料 限制長度 轉換特殊字元 sql注入 不使用動態拼接sql 使用引數化的sql 使用儲存過程查詢訪問 管理員許可權資料庫連線 有限的資料庫連線 單獨許可權 機密資訊不可明文存放 加密或者hash xss 非法獲取使用者資訊 使用...

web 新手知識點

web開發程式設計 1 能否系統的說出http狀態碼?說出一些常見的 狀態碼,並描述其含義。200 伺服器成功處理了請求並提供了請求的網頁 204 伺服器成功處理了請求,但沒有返回任何內容 400 伺服器不理解請求的語法 403 伺服器拒絕請求 404 伺服器找不到請求的網頁,伺服器不存在的網頁 5...

WEB 知識點專題

php的序列化和反序列化 serialize 和unserialize 函式的作用是把複雜的資料型別壓縮到乙個字串中來傳輸。relax.php error reporting e all e notice e warning get pw get file get if isset file get...