感覺應該就算交了WP也進不了決賽~~
我直接把WP放這里
“泄露的秘密”:


發現存在大量“HTTP”包,
下一步跟蹤HTTP流后,

發現存在SQL注入攻擊,
使用python腳本獲取傳遞的引數資訊:(附上腳本)
import pyshark
import urllib
import re
file=pyshark.FileCapture('log.pcapng',display_filter="http")
#urllib.parse.quote(string)
payload_txt=open('payload2.txt','w+')
txt=''
point=0
flag=''
for i in file:
string=str(i)
#print(string,">>>>>")
string1=re.search( r'id=(.*)', string, re.M|re.I)
try:
string1=string1.group()
string1=urllib.parse.unquote(string1)
except:
string1=''
#print(string)
if(string1==''):
pass
else:
txt=txt+string1
payload_txt.write(txt)
payload_txt.close()

發現存在SQL盲注的痕跡,但是由于判斷條件不明朗,所以SQL盲注獲取到的資訊不明確,
繼續跟進,


發現有不同的回顯,

更改腳本繼續獲取數
import pyshark
import urllib
import re
file=pyshark.FileCapture('log.pcapng',display_filter="http")
#urllib.parse.quote(string)
payload_txt=open('payload.txt','w+')
txt=''
point=0
flag=''
for i in file:
string=str(i)
#print(string,">>>>>")
string1=re.search( r'id=(.*)', string, re.M|re.I)
flag=re.search(r"<center><font color='red'>(\d)</font></br><font color='red'>",string,re.M|re.I)
try:
if('1'in flag.group()):
point=1
else:
point=0
except:
None
try:
string1=string1.group()
string1=urllib.parse.unquote(string1)
if(point==1):
string1=string1+flag.group()+'\n'
else:
None
except:
string1=''
#print(string)
if(string1==''):
pass
else:
txt=txt+string1
payload_txt.write(txt)
payload_txt.close()

兩者對比了一下,發現在“payload.txt”中出現的最后一行數字加上1,再使用python的chr()函式,就是獲取到的正確的數字,

缺點在于這里有一個字符沒有獲取到,
但是獲取到了的flag資訊是:flag{Log_an?lysis_SQL}
很明顯缺少的字符是‘a’
=》flag{Log_analysis_SQL}
總結
“題目很好,隊友很強,下次再來~”
這次就弄出來這道題,沒想到居然比一血慢了幾秒好像QAQ
那道PST檔案、記憶體的題目還是差一點就弄出來了~
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/316404.html
標籤:其他
