{"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\/fr\/blog\/administrirovanie\/reshenie-zadaniya-s-pwnable-kr-25-otp-ogranichenie-ramera-fajla-v-linux","title":{"rendered":"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/70434b41e923b3b46bcdff1ab7e03937.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nDans cet article, nous allons r\u00e9soudre le 25e exercice du site <noindex><a rel=\"nofollow\" href=\"https:\/\/pwnable.kr\/index.php\">pwnable.kr<\/a><\/noindex>.<\/p>\n<p><b class=\"spoiler_title\">Informations organisationnelles<\/b>Sp\u00e9cialement pour ceux qui souhaitent apprendre quelque chose de nouveau et se d\u00e9velopper dans tous les domaines de la s\u00e9curit\u00e9 informatique, je vais \u00e9crire et parler des cat\u00e9gories suivantes :<\/p>\n<ul>\n<li>PWN;<\/li>\n<li>cryptographie (Crypto);<\/li>\n<li>technologies r\u00e9seau (Network);<\/li>\n<li>reverse (Reverse Engineering);<\/li>\n<li>st\u00e9ganographie (Stegano);<\/li>\n<li>recherche et exploitation des vuln\u00e9rabilit\u00e9s WEB.<\/li>\n<\/ul>\n<p>\nDe plus, je partagerai ma exp\u00e9rience en criminalistique num\u00e9rique, analyse des malwares et des firmwares, attaques sur les r\u00e9seaux sans fil et les r\u00e9seaux locaux, r\u00e9alisation de pentests et r\u00e9daction d'exploits.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nPour que vous puissiez \u00eatre au courant des nouveaux articles, logiciels et autres informations, j'ai cr\u00e9\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/RalfHackerChannel\">une cha\u00eene sur Telegram<\/a><\/noindex> et <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/RalfHackerPublicChat\">un groupe pour discuter de toutes questions<\/a><\/noindex> dans le domaine de la s\u00e9curit\u00e9 informatique. De plus, vos demandes personnelles, questions, suggestions et recommandations <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/hackerralf8\">seront examin\u00e9es personnellement et je r\u00e9pondrai \u00e0 tous<\/a><\/noindex>.<\/p>\n<p>Toutes les informations sont pr\u00e9sent\u00e9es uniquement \u00e0 des fins \u00e9ducatives. L'auteur de ce document ne saurait \u00eatre tenu responsable de tout dommage caus\u00e9 \u00e0 quiconque r\u00e9sultant de l'utilisation des connaissances et des m\u00e9thodes acquises par l'\u00e9tude de ce document.<\/p>\n<h2>Solution de l'exercice otp<\/h2>\n<p>\nNous continuons le deuxi\u00e8me chapitre. Je vous pr\u00e9viens tout de suite que c'est plus difficile que le premier, mais cette fois, nous n'avons pas le code source du programme. N'oubliez pas de participer \u00e0 la discussion ici(https:\/\/t.me\/RalfHackerPublicChat) et ici (https:\/\/t.me\/RalfHackerChannel). Commen\u00e7ons.<\/p>\n<p>Cliquez sur l'ic\u00f4ne avec la l\u00e9gende otp. On nous donne une adresse et un port pour la connexion.<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/fec98a1c755c36ba1a7117bfc5154611.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNous nous connectons et faisons un tour sur le serveur.<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/71983f5701fe2b1366cebfb0d2d57f74.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLe drapeau que nous ne pouvons pas lire, le programme et son code source. Regardons le code source.<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/63e409cd939f41db29ee5c1edfa107a0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNous l'analysons. Le programme prend le mot de passe comme argument.<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/5eb6bccb7ed4b82fdd01e24854c2c953.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEnsuite, 16 octets al\u00e9atoires sont enregistr\u00e9s dans la variable otp.<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/c1420a16c9721a8c87fb86277674f0f2.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nUn fichier avec un nom al\u00e9atoire (les 8 premiers octets de otp) est cr\u00e9\u00e9 dans le dossier tmp et y sont \u00e9crits 8 octets al\u00e9atoires (les 8 derniers octets de otp).<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/d6fcc612f6cddbff338fff0aaf9b73a1.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPour une raison quelconque, la valeur du fichier cr\u00e9\u00e9 est lue et compar\u00e9e au mot de passe saisi.<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/42302a748b7cd57a6337be00eab2c47b.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nC'est ici que se trouve la vuln\u00e9rabilit\u00e9. Elle r\u00e9side dans la sauvegarde interm\u00e9diaire du nombre g\u00e9n\u00e9r\u00e9 dans un fichier. Nous pouvons limiter la taille du fichier, par exemple \u00e0 0, alors lors de l'\u00e9criture et de la lecture avec le mot de passe, 0 sera compar\u00e9. On peut faire cela comme suit.<\/p>\n<pre><code class=\"bash\"># ulimit -f 0<\/code><\/pre>\n<p>\n<img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/3af83c20d1de7435b0f40a36c8187ff0.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLan\u00e7ons maintenant le programme.<\/p>\n<p><img decoding=\"async\" alt=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/a289bd59a22aa495fe6407c3c8ff0416.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNous obtenons une erreur. Pas de souci, elle peut \u00eatre manipul\u00e9e \u00e0 l'aide de Python.<\/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=\"R\u00e9solution de la t\u00e2che sur pwnable.kr 25 \u2014 otp. Limite de taille de fichier sous Linux\" src=\"\/wp-content\/uploads\/2019\/10\/b8513f020879d5e5ee957e1bc137b61a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNous recevons le drapeau et nos 100 points faciles. Et nous continuons : dans le prochain article, nous aborderons le Web. Vous pouvez nous rejoindre sur <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/RalfHackerChannel\">Telegram<\/a><\/noindex>.<br \/>\n<br \/>Source : <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.2.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\/fr\/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.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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\udd47Solution de l'exercice de pwnable.kr 25 \u2014 otp. Limitation de la taille de fichier sous Linux | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/fr\/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":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/38822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=38822"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38822\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/29120"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=38822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=38822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=38822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}