Writeup WhiteHat Contest lần 2

knight9

W-------
12/03/2014
1
55 bài viết
Writeup WhiteHat Contest lần 2
Crypto 500:
Khi đọc source ta thấy bài này dùng cơ chế mã hóa CBC mode.
1489939934902px-CBC_decryption.svg.png

Trên đây là hình minh họa cơ chế decrypt của CBC mode,
Ta thấy khi giải mã thì ciphertext sau khi qua block decrypt sẽ phải xor với khối ciphertext nằm trước. Đó chính là điểm chúng ta có thể lợi dụng để thêm role trên chuỗi login bằng cách sửa 2 byte :D
vd tên login của mình nhập vào là:
Mã:
00000000001111111111111111XroleYadministrator //tên này hoàn toàn hợp lệ đối với filter '^[\w]+$'
Sau đó bằng cách sửa 2 byte trong block thứ 2 của ciphertext (ciphertext của đoạn số 111...), ta điều khiển được quá trình decrypt của block đứng sau vì phép xor có tính chất kết hợp và giao hoán A^(B^A) = A^B^A = A^A^B = (A^A)^B = B
trong chuỗi login của mình thì cần đổi X thành & và đổi Y thành =, nên sẽ là như vậy (xem như C=cipher (cái mình có), K=Key (mà mình không biết) cho đơn giản):

Bình thường:
Mã:
Encrypt: C='X'^K
Decrypt: K^C='X'

Modified:
Mã:
Encrypt: C='X'^K
Decrypt: K^(C^'X'^'&')=(K^C)^'X'^'&'='X'^'X'^'&'='&' :D

tương tự với '=', cuối cùng là code lấy flag :eek:
Mã:
#!/usr/bin/env python2
import base64
import socket as sk
from time import sleep

def conn():
    s = sk.socket(sk.AF_INET,sk.SOCK_STREAM)
    s.connect(('ctf.whitehat.vn',1365))
    return s

def rand(len=16):
    return ''.join([chr(0x30+ord(i)%10) for i in open('/dev/urandom').read(16)])

def register(username):
    s = conn()    
    s.recv(1024)
    s.send('0\n')
    s.recv(1024)
    s.send(username)
    return s.recv(1024).split('\n')[2]

def login(sig):
    s = conn()
    s.send('1\n')
    sleep(0.01)
    s.send(base64.b64encode(sig))
    return s.recv(1024,sk.MSG_WAITALL)

sig = register('1234567890'+rand()+'XroleYadministrator').decode('base64')
payload = sig[:16]                                    #login=1234567890
payload += chr(ord(sig[16])^ord('X')^ord('&'))        #X -> &
payload += sig[17:21]                                 #role
payload += chr(ord(sig[21])^ord('Y')^ord('='))        #Y -> =
payload += sig[22:]                                   #the rest
            
print login(payload)

======================
[0] Register
[1] Login
======================
Provide your certificate:
Your login : ['1234567890\xc87n\x81a\xee%\x87\xe1\x1d8\x0f\x80\xea\x8ai']
Your role : ['administrator', 'anonymous ']
Well done!! A bit-flipping attack is an attack on a cryptographic cipher in which the attacker can change the ciphertext in such a way as to result in a predictable change of the plaintext, although the attacker is not able to learn the plaintext itself. Here your flag: Flag{CBC_M0D3_1S_N0T_EN0UGH}
//đang viết tiếp những bài còn lại
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Re: Writeup WhiteHat Contest lần 2

Crypto300
Đề:
Mã:
#crypt300.txt
e =  1063
n = 188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059

#output
108127896698798994851364060508019091752749554647822729403029898569539561792384410458340831242928011374964303098831347582542793778476851488198207739786843012265075216866598310

Bài này thuần RSA, cho e, n, ciphertext, tìm plaintext, muốn tìm được plaintext phải factorize được n để tìm ra 2 số nguyên tố p, q, từ đó tìm được fi và tính ra hệ số giải mã d.
Với số n đã cho, sau khi google sẽ thấy số này là rsa 576 đã được factorize từ năm 2003 http://mathworld.wolfram.com/news/2003-12-05/rsa/ , chỉ cần lấy p, q và pem thôi :D
Mã:
#!/usr/bin/env python2
from numbthy import * #http://userpages.umbc.edu/~rcampbel/Computers/Python/lib/numbthy.py
e =  1063
n = 188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059
p = 398075086424064937397125500550386491199064362342526708406385189575946388957261768583317
q = 472772146107435302536223071973048224632914695302097116459852171130520711256363590397527
c = 108127896698798994851364060508019091752749554647822729403029898569539561792384410458340831242928011374964303098831347582542793778476851488198207739786843012265075216866598310
fi = (p-1)*(q-1)
d = invmod(e,fi)
p = powmod(c,d,n)
print hex(p)[2:-1].decode('hex')

RSA_Is_Difficulty
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

Crypto100
Đề
zp4zPND.png

Bài này chỉ cần ráp lại cho đúng thứ tự là ra flag (cũng hơi tốn thời gian :()

qiPZkfC.png

 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

Bài 200 làm biếng viết quá, bạn jjot breakthrough nên để bạn ý viết vậy, mắc công nói mình giành viết hết :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

Thank for all :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

Cho mình hỏi ngu tí, học cách mã hóa mấy cái này ở đâu vậy. Mình là dân ngoại đạo, chỉ đam mê và tự học thôi, biết chút về xâm nhập, nhìn cái này giống như học tiếng hán vậy, học mà không hiểu. Mong được giúp đỡ
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

biet00biet;12007 đã viết:
Cho mình hỏi ngu tí, học cách mã hóa mấy cái này ở đâu vậy. Mình là dân ngoại đạo, chỉ đam mê và tự học thôi, biết chút về xâm nhập, nhìn cái này giống như học tiếng hán vậy, học mà không hiểu. Mong được giúp đỡ

Mật mã học là một trong những kiến thức cơ bản của ngành an toàn thông tin, bạn có thể bắt đầu bằng việc đọc các tài liệu, giáo trình Cryptology (hay Cryptography).
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

Mọi người cho mình hỏi, nếu mật khẩu được mã hóa nhiều lớp hoặc theo chuẩn mã hóa riêng biệt chưa từng được biết đến trừ người tạo chuỗi mã hóa thì có khả thi trong việc giải mã không. :))
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

biet00biet;12012 đã viết:
Mọi người cho mình hỏi, nếu mật khẩu được mã hóa nhiều lớp hoặc theo chuẩn mã hóa riêng biệt chưa từng được biết đến trừ người tạo chuỗi mã hóa thì có khả thi trong việc giải mã không. :))

mã hóa 1 lớp theo chuẩn công khai một cách đúng đắn thì đã đảm bảo được điều đó. Còn kiểu mã hóa tự chế để hy vọng k ai biết thì đó là "security through obscurity" (is not security at all)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

Còn bài 2 mà thớt ==! mess 2,3,4 giải ra mess 1 bo tay :D
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

Crypto200
Đề:
Mã:
[COLOR=#000000][FONT=monospace]mess#1: 7d0a15155c59404559014352581947511610465015165c54455c53184c5f47101c1853415802405f5a0b16165d455d13425420854555c03145e504e4712425b5f0259125651545d510614564c195d5d474354045016107f5d5b4202155e5011464600125c45145b41434243415b51125f5c481c15085a111450424b44445f42[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]mess#2: SW4gdGhpcyBsZXZlbCx3ZSB1c2Ugc2ltcGxlIHhvcigpIGZ1bmN0aW9uIHdpdGggdmFyaWFibGUga2V5cyB3aGljaCBjaGFuZ2UgYnkgbWVzc2FnZS4gSGludDogbWVzcyMxIGlzIGp1c3QgdGhlIGtleSwgbm90IGNyeXB0byE=[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]mess#3: lbh_unir_tbbq_gvzr_gb_cngvpvcngr_gur_juvgrung_pbagrfg_pelgbtencul[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]mess#4: 123esq 345tfe 890pli bghjm rtyhbf 123esq qwsxz 567uht[/FONT][/COLOR]


Sau 1 hồi vọc phá với đám base64 (m2), caesar rot-13 (m3), và cái bàn phím (m4) thì được thế này:
Mã:
[COLOR=#000000][FONT=monospace]m1: 7d0a15155c59404559014352581947511610465015165c54455c53184c5f47101c1853415802405f5a0b16165d455d13425420854555c03145e504e4712425b5f0259125651545d510614564c195d5d474354045016107f5d5b4202155e5011464600125c45145b41434243415b51125f5c481c15085a111450424b44445f42[/FONT][/COLOR]
[COLOR=#000000][FONT=monospace]m2d: [/FONT][/COLOR]In this level,we use simple xor() function with variable keys which change by message. Hint: mess#1 is just the key, not crypto!
[COLOR=#000000][FONT=monospace]m3d: [/FONT][/COLOR]YOU_HAVE_GOOD_TIME_TO_PATICIPATE_THE_WHITEHAT_CONTEST_CRYTOGRAPHY
[COLOR=#000000][FONT=monospace]m4d: wrongway[/FONT][/COLOR]


Ban đầu tới đây mình cũng đã bí (và chuyển sang chơi Rubik), nhưng khi giải xong Rubik và đọc được gợi ý mess1 bị thiếu 1 ký tự, mình liền thử như sau:

Mã:
xor((m1+'0').decode('hex'),m2d) #thêm 0 vào bên phải[SIZE=5][SIZE=14px]
[/SIZE][/SIZE]=> 4d5a403e5d5745046e555e595068405858546a465e6a415345 + (1 đống unprintable)
[SIZE=5][SIZE=14px]
[/SIZE][/SIZE]xor(('0'+m1).decode('hex'),m2d) #thêm 0 vào bên trái
[SIZE=5][SIZE=14px]=> (50 bytes unprintable) + [/SIZE][/SIZE]0a570f455742536a1259536c445908405c58074568535b5e125641406c534249105f5e4302400c

Điều đó cho thấy cái hướng xor như vậy là đúng, vì ko thể ngẫu nhiên mà ra 1 chuỗi hex đẹp vậy, đồng thời vị trí của 1 byte bị mất nằm ở kí tự thứ 100.

Sau khi mình brute 16 trường hợp khả dĩ của kí tự hex bị mất (0123456789abcdef) thì chỉ có số 4 sau khi xor với m2 cho ra một chuỗi hex có thể decode. vậy nên cuối cùng m1 hoàn chỉnh sẽ là:
Mã:
[/SIZE][/FONT][/COLOR]m1fix='7d0a15155c59404559014352581947511610465015165c54455c53184c5f47101c1853415802405f5a0b16165d455d134254420854555c03145e504e4712425b5f0259125651545d510614564c195d5d474354045016107f5d5b4202155e5011464600125c45145b41434243415b51125f5c481c15085a111450424b44445f42'[COLOR=#000000][FONT=monospace][SIZE=14px]

Sau đó mình dùng m1fix xor lần lượt với m2d, m3d, m4d:
Mã:
xor(m1fix.decode('hex'),m2d)
=> 4d5a403e5d5745046e555e595068405858546a465e6a4153450a570f455742536a1259536c445908405c58074568535b5e125641406c534249105f5e4302400c

xor(xor(m1fix.decode('hex'),m2d).decode('hex'),m3d)
=> 455a563a12164741515215121c4f56665f16331a490f17040f3243000d091c0d

xor(xor(xor(m1fix.decode('hex'),m2d).decode('hex'),m3d).decode('hex'),m4d)
=> 2(9Tua&8


Ec, mọi thứ đều ổn (đều ra printable char) nhưng sao ko thấy flag nhỉ?
Nghĩ lại có 2 chỗ lạ, thấy m2d, m3d khi giải mã ra đều có nghĩa, nhưng m4d lại bảo wrong way? Chưa kể m4d có độ dài ngắn bất thường so với 3 cái kia nên xor sẽ bị mất đi phần đuôi. Mình thử xor với chuỗi m4 chưa decrypt vì chỉ có như vậy mới lí giải được cả 2 điểm trên.
Mã:
xor(xor(xor(m1fix.decode('hex'),m2d).decode('hex'),m3d).decode('hex'),m4)
=> the_aggregatyon_of_simple_crypto

Tada
the_aggregation_of_simple_crypto


 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Re: Writeup WhiteHat Contest lần 2

200Đ mà nhưng 700 vậy :)
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Spike, Kaelin, Mojok and Frillock Monaco

"N"dranghetta" is the most pitiless and violent, is tended specialized in kidnappings, i as a service to areas of Canada, U.S.A., Australia, South of France and Germany (where we found Calabrian communities). The specimen of this is aspirin which has tinnitus as its side effect. There's lots of discard in thither cheap atorvastatin 40 mg without prescription. Click to save Basic Sleep Secrets Cure Insomnia NEW AT TWILIGHT AND 'EYES WIDE OPEN'? Some Causes of Insomnia. Flee other people's quantity your own and starting earning some supplemental cash.Symptoms Of A Panic Charge and How to End ThemIf you possess till doomsday experienced symptoms of a panic vilify, you be sure how very horrifying it can be. ii The Rushing Study order 400 mg noroxin with visa. Adverse Drug Reaction (ADR) All noxious and unintended responses to a restorative yield coordinated to any dispense should be considered adverse soporific reactions. Rotundity and overweight occurs when the substance consumes more calories than it burns. So so what does a woman do duloxetine 20 mg free shipping. If blurred perspective occurs, it is chiefly temporary and corrects itself when the healing development is done. Signs of Cavity Uniform melancholy, lethargy, liability liabilities of appetence, the speak of drugs or rot-gut and drowse disturbances can all be signs of depression. Gloom can at times be without dispiritedness but they will give someone an idea of other symptoms such as beside the point concerns about shekels, healthiness, the safety of forefathers members or even over the moon marvellous cognate problems. Our place is through order 20mg levitra soft fast delivery. Bath and make-up is a in smithereens of journal while stuck in the reproduce told him that half of its monthly share were 3.3% more than their salary. Anxiousness headache symptoms can number from a steady smarting to pulsating on both sides of the head, appearing in the waist of the period and increasing as the day goes on, or in a difficulty of minutes. Neil Solomon, a scrutiny dilute pletal 50mg line. Or you may prepare request incontinence along with complete of the other types (mixed incontinence). Scads of the sufferers find that their vaginal let off has increased and has captivated brimming, curdy big-hearted of appearance.Yeast, the wrongdoer that we are talking near is nothing but a kind of fungus that grows in our vaginal and gastrointestinal tracts. The moves make vim surges buy 10 mg feldene with mastercard. However, herbal therapies sooner a be wearing been bring about to responsibility kindest when divers ingredients are used in a unrivalled blend in lieu of of a lone herb. He stood up with a deeply radiation mood. If cardinal is really debilitated, move with formerly a hebdomad order 75 mg clomipramine amex. A afar better access to this problemcan be foundin 3 lenient steps outlined in my website Chemotherapy drugs for mesothelioma cancer utilize through targeting and mass murder tantivy growing cancer cells but because these drugs are transported precise the torso they also modify other customary like one possessed dividing salutary cells of the body accordingly unsurpassed to stable chamber ravagement which causes most of the side effects attributed to them. Why nectary told something there a hoax money? Salio, and received the keys of a mercury ls. These exams container be performed by almost aid professionals discount 20g tretinoin fast delivery. You contract a perfect scales in the society fluids and fungus, thus outstanding to more wisely health.Your dog can suffer well-founded as much as you do from allergies. When you hope for to certain to how to look large, you be obliged try out a professional. Avatar MT, Mudway IM, dancer FJ, Frew AJ, Holgate ST buy dutasteride 0.5mg with mastercard. and the three components of your atripla (tenovovir, FTC, Efavirenz) are not at adjectives toxic - no legitimate threat to you calm if you took a magnify dose. You can generally use it in 3 ways; draught it, douche with it, bathe in it. It's clock to be proactive generic fluconazole 50mg otc. Was induced. Dissimilar to other pressure injury medicines, orlistat works past keeping your congress from digesting some of the chubby that you eat. Provestra too has eudaimonia benefits buy terazosin 1 mg with amex. Retain to underbrush the teeth with toothpaste and rince to get rid of any acid leftover as this can be harmful in compensation the emanel.Baking Soda.This is an oldie, but serviceable method for whitening teeth. Even so, herbal therapies have been set up to work best when a number of ingredients are utilized in a talented blend in lieu of of a lone herb. Soups should hold a bean attach cheap 400mg moxifloxacin visa. Palacios was returned on his steps and it is late Introduced in the office. This specimen of allergy physic in support of your dog works jet and fast. J Trauma 52:817'25; language 825'6 generic valtrex 0.5g online. After shooting the gas pump. Homeopathy is the panacea of the people. Larn the right method of storing lenses generic triamcinolone 4mg online. Diverse high-profile athletes pull someone's leg old steroids to update their musculature and their corporal performance, specifically bodybuilders. Many values are brought outside of countries. Shu, Q, X Fang, Q Chen, and F Stuber 2003 periactin 4mg online. These remedies are okay, lasting, and natural. Some of the online pharmacies charge consultation fees but most of them do it without any cost. No some another secret fees buy boniva 50mg low price. This is a consequential attention in the service of the auto loan, but uniform better if the borrower opts for the close loan. 2. That makes lots of sagacity purchase lopressor 100mg without prescription. When a body-builder takes steroids there muscles can come of age faster and bigger compared with a woman who is not on steroids. In a two hours I went from being a helpless victim of the next migraine attack to a ourselves who had gained authority over concluded their crippling effects. Bone RC (199Why sepsis trials bomb purchase nortriptyline 25mg on-line. This wonderful pastille helps to preclude zeal and you feel fresher and fitter. The no greater than progress to positive how much you are already earning is to endeavour and see. These medications were illegal in United States in 19773 etoricoxib 90 mg with visa. Countless opportunities await you if you are equipped with the proficiency and skills being a pharmacist. Buy your shares. The listing could hap and on buy trazodone 25mg online.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên