Back to writings

Өгөгдөл

Даалгаврын нэр: Prime Number
Хандах хаяг: http://103.48.116.193:8006/
Оноо: 40 оноо


Өгөгдсөн хаяг руу хандаж үзвэл Find-Summation-тэй адилхан даалгавар бөгөөд ялгаа нь гэвэл 10000 тоо өгөгдсөн бөгөөд тоо тус бүрийн хамгийн бага анхны тоон хуваагчдийн нийлбэрийг олох даалгавар байлаа.

Өмнө бичсэн скриптээ бага зэрэг өөрчилье.

prime-number.py
import urllib2
import math
import sys
def min_prime(n):
for i in range(2, int(math.sqrt(n) + 1)):
if n % i == 0:
return i
break
return n
response = urllib2.urlopen("http://103.48.116.193:8006/index.php")
cookie = response.info().getheader('Set-Cookie').split(" ")[0].replace(";", "")
buffer = []
prime_numbers = []
for line in response:
buffer.append(line)
for i in range(len(buffer)):
if "<pre>" in buffer[i]:
arr = buffer[i] + buffer[i+1]
arr = arr.replace("<br>", "").replace("<pre>", "").replace("</pre>", "").replace(" ", "").replace("\t", "").replace("\n", "")
numbers = arr.split(",")
for number in numbers:
prime_numbers.append(min_prime(int(number)))
summ = sum(prime_numbers)
print "niilber: " + str(summ)
content = urllib2.urlopen(urllib2.Request("http://103.48.116.193:8006/index.php?solution=" + str(summ), headers={'Cookie':cookie})).read()
print content

За скриптээ ажиллуулъя.

Terminal window
python prime-number.py

Ирсэн хариу:

Screenshot
Зураг 1: Скриптийн гаралт - туг олсон байна
...
Баяр хүргье. Flag is HZ{y0u_f0und_this_s3cr3t_d@t@}

Эцэст нь туг: HZ{y0u_f0und_this_s3cr3t_d@t@}