{"id":38822,"date":"2019-10-31T22:26:11","date_gmt":"2019-10-31T19:26:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux\/"},"modified":"2019-10-31T22:26:11","modified_gmt":"2019-10-31T19:26:11","slug":"reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux","title":{"rendered":"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/70434b41e923b3b46bcdff1ab7e03937.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nIn diesem Artikel werden wir die 25. Aufgabe von der Seite <noindex><a rel=\"nofollow\" href=\"https:\/\/pwnable.kr\/index.php\">pwnable.kr<\/a><\/noindex>.<\/p>\n<p><b class=\"spoiler_title\">Organisatorische Informationen<\/b>Speziell f\u00fcr diejenigen, die etwas Neues lernen und sich in verschiedenen Bereichen der Informations- und Computersicherheit weiterentwickeln m\u00f6chten, werde ich \u00fcber die folgenden Kategorien schreiben und berichten:<\/p>\n<ul>\n<li>PWN;<\/li>\n<li>Kryptographie (Crypto);<\/li>\n<li>Netzwerktechnologien (Network);<\/li>\n<li>Reverse Engineering;<\/li>\n<li>Steganographie (Stegano);<\/li>\n<li>Suche und Ausnutzung von WEB-Schwachstellen.<\/li>\n<\/ul>\n<p>\nDar\u00fcber hinaus werde ich meine Erfahrungen in der Computerforensik, der Malware-Analyse und Firmware-Analysen, Angriffen auf drahtlose Netzwerke und lokale Netzwerke, der Durchf\u00fchrung von Penetrationstests und dem Schreiben von Exploits teilen.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nUm Ihnen zu erm\u00f6glichen, \u00fcber neue Artikel, Software und andere Informationen informiert zu bleiben, habe ich <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/RalfHackerChannel\">einen Kanal auf Telegram<\/a><\/noindex> und <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/RalfHackerPublicChat\">eine Gruppe f\u00fcr die Diskussion beliebiger Fragen<\/a><\/noindex> im Bereich der IuK-Sicherheit. Auch Ihre pers\u00f6nlichen Anfragen, Fragen, Vorschl\u00e4ge und Empfehlungen <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/hackerralf8\">werde ich pers\u00f6nlich pr\u00fcfen und allen antworten<\/a><\/noindex>.<\/p>\n<p>Alle Informationen werden ausschlie\u00dflich zu Bildungszwecken bereitgestellt. Der Autor dieses Dokuments \u00fcbernimmt keine Verantwortung f\u00fcr Sch\u00e4den, die jemandem durch die Nutzung von Wissen und Methoden entstehen, die aus der Untersuchung dieses Dokuments gewonnen wurden.<\/p>\n<h2>L\u00f6sung der Aufgabe otp<\/h2>\n<p>\nWir setzen den zweiten Abschnitt fort. Ich sage gleich, dass es schwieriger als der erste ist, aber dieses Mal stellen sie den Quellcode des Programms nicht zur Verf\u00fcgung. Vergessen Sie hier die Diskussion nicht (https:\/\/t.me\/RalfHackerPublicChat) und hier (https:\/\/t.me\/RalfHackerChannel). Fangen wir an.<\/p>\n<p>Wir klicken auf das Symbol mit der Bezeichnung otp. Uns wird die Adresse und der Port f\u00fcr die Verbindung gegeben.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/fec98a1c755c36ba1a7117bfc5154611.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir verbinden uns und schauen uns auf dem Server um.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/71983f5701fe2b1366cebfb0d2d57f74.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas Flag, das wir nicht lesen k\u00f6nnen, das Programm und sein Quellcode. Lassen Sie uns den Quellcode ansehen.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/63e409cd939f41db29ee5c1edfa107a0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir zerlegen ihn. Das Programm nimmt das Passwort als Argument.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/5eb6bccb7ed4b82fdd01e24854c2c953.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDann werden 16 zuf\u00e4llige Bytes in die Variable otp gespeichert.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/c1420a16c9721a8c87fb86277674f0f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIm Ordner tmp wird eine Datei mit einem zuf\u00e4lligen Namen (die ersten 8 Bytes otp) erstellt und darin werden 8 zuf\u00e4llige Bytes (die zweiten 8 Bytes otp) geschrieben.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/d6fcc612f6cddbff338fff0aaf9b73a1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAus irgendeinem Grund wird der Wert der erstellten Datei gelesen und mit dem eingegebenen Passwort verglichen.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/42302a748b7cd57a6337be00eab2c47b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHier liegt die Schwachstelle. Sie besteht in der zwischenzeitlichen Speicherung der generierten Zahl in einer Datei. Wir k\u00f6nnen die Dateigr\u00f6\u00dfe beispielsweise auf 0 beschr\u00e4nken, sodass bei der Aufnahme und dem Vergleich mit dem Passwort mit 0 verglichen wird. So kann das gemacht werden.<\/p>\n<pre><code class=\"bash\"># ulimit -f 0<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/3af83c20d1de7435b0f40a36c8187ff0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJetzt starten wir das Programm.<\/p>\n<p><img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/a289bd59a22aa495fe6407c3c8ff0416.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir erhalten einen Fehler. Kein Problem, denn wir k\u00f6nnen ihn mit dem gleichen Python verarbeiten.<\/p>\n<pre><code class=\"python\">python -c \"import os, signal; signal.signal(signal.SIGXFSZ, signal.SIG_IGN); os.system('.\\\/otp 0')\" <\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"L\u00f6sung der Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux\" src=\"\/wp-content\/uploads\/2019\/10\/b8513f020879d5e5ee957e1bc137b61a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWir erhalten das Flag und unsere leichten 100 Punkte. Und wir machen weiter: Im n\u00e4chsten Artikel werden wir das Web ansprechen. Sie k\u00f6nnen sich uns anschlie\u00dfen unter <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/RalfHackerChannel\">Telegram<\/a><\/noindex>.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/471042\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0448\u0438\u043c 25-\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u0435 \u0441 \u0441\u0430\u0439\u0442\u0430 pwnable.kr. \u041e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0442\u0435\u0445, \u043a\u0442\u043e \u0445\u043e\u0447\u0435\u0442 \u0443\u0437\u043d\u0430\u0432\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u043e\u0435 \u0438 \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043b\u044e\u0431\u043e\u0439 \u0438\u0437 \u0441\u0444\u0435\u0440 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u043e\u043d\u043d\u043e\u0439 \u0438 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438, \u044f \u0431\u0443\u0434\u0443 \u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f\u0445: PWN; \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u044f (Crypto); c\u0435\u0442\u0435\u0432\u044b\u0435 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 (Network); \u0440\u0435\u0432\u0435\u0440\u0441 (Reverse Engineering); \u0441\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u044f (Stegano); \u043f\u043e\u0438\u0441\u043a \u0438 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044f WEB-\u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439. \u0412\u0434\u043e\u0431\u0430\u0432\u043e\u043a \u043a \u044d\u0442\u043e\u043c\u0443 \u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":29120,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-38822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0441 pwnable.kr 25 \u2014 otp. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u043c\u0435\u0440\u0430 \u0444\u0430\u0439\u043b\u0430 \u0432 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:26:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:26:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47L\u00f6sung f\u00fcr die Aufgabe von pwnable.kr 25 \u2014 otp. Beschr\u00e4nkung der Dateigr\u00f6\u00dfe in Linux | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0435\u0448\u0435\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u0438\u044f \u0441 pwnable.kr 25 \u2014 otp. \u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435 \u0440\u0430\u043c\u0435\u0440\u0430 \u0444\u0430\u0439\u043b\u0430 \u0432 Linux | ProHoster","og:url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:26:11+00:00","article:modified_time":"2019-10-31T19:26:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38822","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 23:33:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:01:37","updated":"2026-01-23 23:33:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=38822"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/29120"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=38822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=38822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=38822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}