Baby XSS

對於XSS的學習過程,已經更新在CSDN博客

題目分析

這道題目告訴我們flag在admin.php中,只有admin才能獲取它,我們點擊進去之後發現並沒有flag,這是爲什麼呢?因爲我們不是admin,因此,我們必須僞裝成admin。
題目的下面有一行代碼,substr((md5(‘proof of work’),0,6) === ‘4b3392’)
這一行代碼的意思是截取經過MD5編碼的工作量的前6個數字。
proof of work百度的是區塊鏈中的工作量證明:在區塊鏈中,Pow代表的是一種運作機制,這種機制強制要求財富的獲取方式只能是通過勞動所得,也就是算力運算-挖礦。我的理解就是得到的結果是通過大量的運算得來的。
這塊也是參考了很多的資料,因爲對這一部分不是特別的理解。
在這裏插入圖片描述
這塊是隨機的,我們接下里破解一下

  • 嘗試使用proofofwork這個軟件破解來着,但是沒有安裝成功。(明天更新了python在試一下)
  • itertools暴力解決
import hashlib
from itertools import count

mes = 'admin'
for i in count():
    md = hashlib.md5()
    str1 = str(i)
    md.update(str1.encode('utf-8'))
    hashid = md.hexdigest()
    if hashid.startswith('384216'):
        print(str1)
        break

將跟隨機產生的字符串能匹配上的字符串打印出來,輸入到MD5的輸入框裏面
就顯示,提交成功了。
但是點擊之後是空白的界面。
在這裏插入圖片描述

  • token瞭解
    token的意思是“令牌”,是服務端生成的一串字符串,作爲客戶端進行請求的一個標識。
    當用戶第一次登錄後,服務器生成一個token並將此token返回給客戶端,以後客戶端只需帶上這個token前來請求數據即可,無需再次帶上用戶名和密碼。
    簡單token的組成;uid(用戶唯一的身份標識)、time(當前時間的時間戳)、sign(簽名,token的前幾位以哈希算法壓縮成的一定長度的十六進制字符串。爲防止token泄露)。
  • 獲取token
    通過在線註冊XSS平臺,在懷疑會出現XSS的地方植入代碼(本題中是tmessage的位置),獲得token信息。
  • 假冒admin,更改cookie的信息

通過使用burp抓包

使用過程簡略,找到cookie之後,我們要在把token的值拼接上去,forward就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章