Kusagadzikana muPython iyo inobvumira system mirairo kuti idanwe kubva kune ega zvinyorwa

Imwe nzira yakadhindwa kuti ipfuure yakasarudzika kodhi kodhi masisitimu muPython, zvichibva pakushandiswa kwebug yaizivikanwa kwenguva refu yakaonekwa muPython 2.7, yakaonekwa muna 2012 uye haisati yagadziriswa muPython 3. Iyo bug inobvumira kushandisa yakanyatsobatanidzwa. Python kodhi yekutanga kuwana kune yakatosunungurwa ndangariro (Shandisa-After-Mahara) muPython. Pakutanga, zvaifungidzirwa kuti kukanganisa hakuna kuisa njodzi yekuchengetedza uye chete muzviitiko zvisingawanzoitiki, kazhinji zvakagadzirwa nemaoko, zvinogona kutungamirira kumagumo asina kujairika kwechinyorwa.

Mumwe muongorori wekuchengetedza ari pasi pezita rekunyepedzera kn32 akafarira dambudziko uye akakwanisa kugadzirira kushandiswa kwekushanda kunoita kuti zvikwanise kufonera chero system system pasina kuwana zvakananga nzira senge os.system. Iko kushandiswa kunoitwa muPython yakachena uye inoshanda pasina kuunza kunze maraibhurari ekunze uye pasina kuisa iyo "code.__new__" mubato. Pakati pezvikorekedzo, chete "builtin.__id__" inoshandiswa, iyo inowanzosarambidzwa. Padivi rinoshanda, iyo kodhi yakarongwa inogona kushandiswa kunzvenga nzira dzekuzviparadzanisa nevamwe mumasevhisi akasiyana siyana uye nharaunda (semuenzaniso, munzvimbo dzekufunda, mabhomba epamhepo, akavakirwa-mukati mekubata, nezvimwewo), izvo zvinobvumira kuurayiwa kwePython kodhi, asi kudzikisira iyo. aripo mafoni uye usabvumire nzira dzekufona senge os.system.

Iyo kodhi yakatsanangurwa ianalogue yeos.system kufona, iyo inoshanda nekushandisa kusazvibata muCPython. Iko kushandiswa kunoshanda neshanduro dzese dzePython 3 pane masisitimu ane x86-64 architecture uye inoratidza kushanda kwakagadzikana paUbuntu 22.04, kunyangwe kana PIE, RELRO uye CET nzira dzekudzivirira dzichigoneswa. Iro basa rinouya pasi kuti uwane ruzivo kubva kuPython kodhi nezvekero yeimwe yemabasa mune ino itwa yeCPython kodhi. Zvichienderana nekero iyi, iyo base kero yeCPython mundangariro uye kero yeiyo system () basa mune libc muenzaniso yakarodha mundangariro inoverengerwa. Pakupedzisira, shanduko yakananga kune imwe kero yehurongwa inotangwa nekutsiviwa kwechinongedzo chenharo yekutanga kumutsara "/bin/sh".

Kusagadzikana muPython iyo inobvumira system mirairo kuti idanwe kubva kune ega zvinyorwa


Source: opennet.ru

Voeg