Linux anchor 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64
Apache/2.4.18 (Ubuntu)
Server IP : 10.10.100.4 & Your IP : 216.73.217.150
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
wiki.bernardino.org /
includes /
specials /
Delete
Unzip
Name
Size
Permission
Date
Action
helpers
[ DIR ]
drwxr-xr-x
2016-11-28 20:20
pagers
[ DIR ]
drwxr-xr-x
2016-11-28 20:20
SpecialActiveusers.php
3.48
KB
-rw-r--r--
2016-11-28 20:20
SpecialAllMessages.php
1.96
KB
-rw-r--r--
2016-11-28 20:20
SpecialAllPages.php
10.42
KB
-rw-r--r--
2016-11-28 20:20
SpecialAllmessages.php
12.08
KB
-rw-r--r--
2012-01-04 14:32
SpecialAllpages.php
14.84
KB
-rw-r--r--
2011-06-17 18:05
SpecialAncientpages.php
2.12
KB
-rw-r--r--
2016-11-28 20:20
SpecialApiHelp.php
2.62
KB
-rw-r--r--
2016-11-28 20:20
SpecialApiSandbox.php
1.64
KB
-rw-r--r--
2016-11-28 20:20
SpecialBlankpage.php
1.2
KB
-rw-r--r--
2016-11-28 20:20
SpecialBlock.php
30.28
KB
-rw-r--r--
2016-11-28 20:20
SpecialBlockList.php
6.01
KB
-rw-r--r--
2016-11-28 20:20
SpecialBlockme.php
1.67
KB
-rw-r--r--
2011-03-21 20:12
SpecialBooksources.php
5.45
KB
-rw-r--r--
2016-11-28 20:20
SpecialBotPasswords.php
9.29
KB
-rw-r--r--
2016-11-28 20:20
SpecialBrokenRedirects.php
4.38
KB
-rw-r--r--
2016-11-28 20:20
SpecialCachedPage.php
5.51
KB
-rw-r--r--
2016-11-28 20:20
SpecialCategories.php
1.89
KB
-rw-r--r--
2016-11-28 20:20
SpecialChangeContentModel.php
7.91
KB
-rw-r--r--
2016-11-28 20:20
SpecialChangeCredentials.php
6.71
KB
-rw-r--r--
2016-11-28 20:20
SpecialChangeEmail.php
4.78
KB
-rw-r--r--
2016-11-28 20:20
SpecialChangePassword.php
1.18
KB
-rw-r--r--
2016-11-28 20:20
SpecialComparePages.php
4.42
KB
-rw-r--r--
2016-11-28 20:20
SpecialConfirmemail.php
5.16
KB
-rw-r--r--
2016-11-28 20:20
SpecialContributions.php
19.52
KB
-rw-r--r--
2016-11-28 20:20
SpecialCreateAccount.php
5.03
KB
-rw-r--r--
2016-11-28 20:20
SpecialDeadendpages.php
2.11
KB
-rw-r--r--
2016-11-28 20:20
SpecialDeletedContributions.php
7.9
KB
-rw-r--r--
2016-11-28 20:20
SpecialDiff.php
2.29
KB
-rw-r--r--
2016-11-28 20:20
SpecialDisambiguations.php
4.18
KB
-rw-r--r--
2011-07-06 04:26
SpecialDoubleRedirects.php
5.58
KB
-rw-r--r--
2016-11-28 20:20
SpecialEditTags.php
13.97
KB
-rw-r--r--
2016-11-28 20:20
SpecialEditWatchlist.php
21.93
KB
-rw-r--r--
2016-11-28 20:20
SpecialEmailInvalidate.php
2.18
KB
-rw-r--r--
2016-11-28 20:20
SpecialEmailuser.php
12.69
KB
-rw-r--r--
2016-11-28 20:20
SpecialExpandTemplates.php
8.64
KB
-rw-r--r--
2016-11-28 20:20
SpecialExport.php
15.54
KB
-rw-r--r--
2016-11-28 20:20
SpecialFewestrevisions.php
2.9
KB
-rw-r--r--
2016-11-28 20:20
SpecialFileDuplicateSearch.php
7.26
KB
-rw-r--r--
2016-11-28 20:20
SpecialFilepath.php
1.52
KB
-rw-r--r--
2016-11-28 20:20
SpecialImport.php
19.38
KB
-rw-r--r--
2016-11-28 20:20
SpecialJavaScriptTest.php
6.62
KB
-rw-r--r--
2016-11-28 20:20
SpecialLinkAccounts.php
3.14
KB
-rw-r--r--
2016-11-28 20:20
SpecialLinkSearch.php
7.42
KB
-rw-r--r--
2016-11-28 20:20
SpecialListDuplicatedFiles.php
2.93
KB
-rw-r--r--
2016-11-28 20:20
SpecialListfiles.php
2.44
KB
-rw-r--r--
2016-11-28 20:20
SpecialListgrants.php
2.54
KB
-rw-r--r--
2016-11-28 20:20
SpecialListgrouprights.php
9.52
KB
-rw-r--r--
2016-11-28 20:20
SpecialListredirects.php
3.61
KB
-rw-r--r--
2016-11-28 20:20
SpecialListusers.php
2.54
KB
-rw-r--r--
2016-11-28 20:20
SpecialLockdb.php
3.28
KB
-rw-r--r--
2016-11-28 20:20
SpecialLog.php
8.29
KB
-rw-r--r--
2016-11-28 20:20
SpecialLonelypages.php
2.44
KB
-rw-r--r--
2016-11-28 20:20
SpecialLongpages.php
1.09
KB
-rw-r--r--
2016-11-28 20:20
SpecialMIMEsearch.php
5.29
KB
-rw-r--r--
2016-11-28 20:20
SpecialMediaStatistics.php
10.37
KB
-rw-r--r--
2016-11-28 20:20
SpecialMergeHistory.php
10.68
KB
-rw-r--r--
2016-11-28 20:20
SpecialMostcategories.php
2.93
KB
-rw-r--r--
2016-11-28 20:20
SpecialMostimages.php
1.66
KB
-rw-r--r--
2016-11-28 20:20
SpecialMostinterwikis.php
2.95
KB
-rw-r--r--
2016-11-28 20:20
SpecialMostlinked.php
3.31
KB
-rw-r--r--
2016-11-28 20:20
SpecialMostlinkedcategories.php
2.61
KB
-rw-r--r--
2016-11-28 20:20
SpecialMostlinkedtemplates.php
3.2
KB
-rw-r--r--
2016-11-28 20:20
SpecialMostrevisions.php
1.18
KB
-rw-r--r--
2016-11-28 20:20
SpecialMovepage.php
24.66
KB
-rw-r--r--
2016-11-28 20:20
SpecialMyLanguage.php
3.12
KB
-rw-r--r--
2016-11-28 20:20
SpecialMyRedirectPages.php
4.51
KB
-rw-r--r--
2016-11-28 20:20
SpecialNewimages.php
3.4
KB
-rw-r--r--
2016-11-28 20:20
SpecialNewpages.php
12.96
KB
-rwxr-xr-x
2016-11-28 20:20
SpecialPageLanguage.php
5.58
KB
-rw-r--r--
2016-11-28 20:20
SpecialPagesWithProp.php
5.1
KB
-rw-r--r--
2016-11-28 20:20
SpecialPasswordReset.php
6.08
KB
-rw-r--r--
2016-11-28 20:20
SpecialPermanentLink.php
1.47
KB
-rw-r--r--
2016-11-28 20:20
SpecialPopularpages.php
1.91
KB
-rw-r--r--
2011-05-26 21:21
SpecialPreferences.php
4.46
KB
-rw-r--r--
2016-11-28 20:20
SpecialPrefixindex.php
9.27
KB
-rw-r--r--
2016-11-28 20:20
SpecialProtectedpages.php
15.95
KB
-rw-r--r--
2016-11-28 20:20
SpecialProtectedtitles.php
5.5
KB
-rw-r--r--
2016-11-28 20:20
SpecialRandomInCategory.php
8.54
KB
-rw-r--r--
2016-11-28 20:20
SpecialRandompage.php
4.71
KB
-rw-r--r--
2016-11-28 20:20
SpecialRandomredirect.php
1.15
KB
-rw-r--r--
2016-11-28 20:20
SpecialRandomrootpage.php
1.21
KB
-rw-r--r--
2016-11-28 20:20
SpecialRecentchanges.php
22.18
KB
-rw-r--r--
2016-11-28 20:20
SpecialRecentchangeslinked.php
7.9
KB
-rw-r--r--
2016-11-28 20:20
SpecialRedirect.php
9.16
KB
-rw-r--r--
2016-11-28 20:20
SpecialRemoveCredentials.php
642
B
-rw-r--r--
2016-11-28 20:20
SpecialResetTokens.php
3.83
KB
-rw-r--r--
2016-11-28 20:20
SpecialRevisiondelete.php
20.86
KB
-rw-r--r--
2016-11-28 20:20
SpecialRunJobs.php
3.96
KB
-rw-r--r--
2016-11-28 20:20
SpecialSearch.php
38.45
KB
-rw-r--r--
2016-11-28 20:20
SpecialShortpages.php
3.44
KB
-rw-r--r--
2016-11-28 20:20
SpecialSpecialpages.php
3.6
KB
-rw-r--r--
2016-11-28 20:20
SpecialStatistics.php
9.18
KB
-rw-r--r--
2016-11-28 20:20
SpecialTags.php
15.24
KB
-rw-r--r--
2016-11-28 20:20
SpecialTrackingCategories.php
6.31
KB
-rw-r--r--
2016-11-28 20:20
SpecialUnblock.php
8.37
KB
-rw-r--r--
2016-11-28 20:20
SpecialUncategorizedcategories.php
1.47
KB
-rw-r--r--
2016-11-28 20:20
SpecialUncategorizedimages.php
1.75
KB
-rw-r--r--
2016-11-28 20:20
SpecialUncategorizedpages.php
2.3
KB
-rw-r--r--
2016-11-28 20:20
SpecialUncategorizedtemplates.php
1.19
KB
-rw-r--r--
2016-11-28 20:20
SpecialUndelete.php
51.13
KB
-rw-r--r--
2016-11-28 20:20
SpecialUnlinkAccounts.php
2.17
KB
-rw-r--r--
2016-11-28 20:20
SpecialUnlockdb.php
2.44
KB
-rw-r--r--
2016-11-28 20:20
SpecialUnusedcategories.php
1.97
KB
-rw-r--r--
2016-11-28 20:20
SpecialUnusedimages.php
2.23
KB
-rw-r--r--
2016-11-28 20:20
SpecialUnusedtemplates.php
2.42
KB
-rw-r--r--
2016-11-28 20:20
SpecialUnwatchedpages.php
2.85
KB
-rw-r--r--
2016-11-28 20:20
SpecialUpload.php
39.96
KB
-rw-r--r--
2016-11-28 20:20
SpecialUploadStash.php
14.56
KB
-rw-r--r--
2016-11-28 20:20
SpecialUserLogin.php
4.83
KB
-rw-r--r--
2016-11-28 20:20
SpecialUserLogout.php
2.45
KB
-rw-r--r--
2016-11-28 20:20
SpecialUserlogin.php
37.77
KB
-rw-r--r--
2012-03-21 11:43
SpecialUserlogout.php
1.85
KB
-rw-r--r--
2010-08-15 09:16
SpecialUserrights.php
23.31
KB
-rw-r--r--
2016-11-28 20:20
SpecialVersion.php
33.55
KB
-rw-r--r--
2016-11-28 20:20
SpecialWantedcategories.php
3.63
KB
-rw-r--r--
2016-11-28 20:20
SpecialWantedfiles.php
3.94
KB
-rw-r--r--
2016-11-28 20:20
SpecialWantedpages.php
2.36
KB
-rw-r--r--
2016-11-28 20:20
SpecialWantedtemplates.php
1.8
KB
-rw-r--r--
2016-11-28 20:20
SpecialWatchlist.php
18.42
KB
-rw-r--r--
2016-11-28 20:20
SpecialWhatlinkshere.php
15.79
KB
-rw-r--r--
2016-11-28 20:20
SpecialWithoutinterwiki.php
2.7
KB
-rw-r--r--
2016-11-28 20:20
Save
Rename
<?php /** * Implements Special:BotPasswords * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * http://www.gnu.org/copyleft/gpl.html * * @file * @ingroup SpecialPage */ /** * Let users manage bot passwords * * @ingroup SpecialPage */ class SpecialBotPasswords extends FormSpecialPage { /** @var int Central user ID */ private $userId = 0; /** @var BotPassword|null Bot password being edited, if any */ private $botPassword = null; /** @var string Operation being performed: create, update, delete */ private $operation = null; /** @var string New password set, for communication between onSubmit() and onSuccess() */ private $password = null; public function __construct() { parent::__construct( 'BotPasswords', 'editmyprivateinfo' ); } /** * @return bool */ public function isListed() { return $this->getConfig()->get( 'EnableBotPasswords' ); } /** * Main execution point * @param string|null $par */ function execute( $par ) { $this->getOutput()->disallowUserJs(); $this->requireLogin(); $par = trim( $par ); if ( strlen( $par ) === 0 ) { $par = null; } elseif ( strlen( $par ) > BotPassword::APPID_MAXLENGTH ) { throw new ErrorPageError( 'botpasswords', 'botpasswords-bad-appid', [ htmlspecialchars( $par ) ] ); } parent::execute( $par ); } protected function checkExecutePermissions( User $user ) { parent::checkExecutePermissions( $user ); if ( !$this->getConfig()->get( 'EnableBotPasswords' ) ) { throw new ErrorPageError( 'botpasswords', 'botpasswords-disabled' ); } $this->userId = CentralIdLookup::factory()->centralIdFromLocalUser( $this->getUser() ); if ( !$this->userId ) { throw new ErrorPageError( 'botpasswords', 'botpasswords-no-central-id' ); } } protected function getFormFields() { $fields = []; if ( $this->par !== null ) { $this->botPassword = BotPassword::newFromCentralId( $this->userId, $this->par ); if ( !$this->botPassword ) { $this->botPassword = BotPassword::newUnsaved( [ 'centralId' => $this->userId, 'appId' => $this->par, ] ); } $sep = BotPassword::getSeparator(); $fields[] = [ 'type' => 'info', 'label-message' => 'username', 'default' => $this->getUser()->getName() . $sep . $this->par ]; if ( $this->botPassword->isSaved() ) { $fields['resetPassword'] = [ 'type' => 'check', 'label-message' => 'botpasswords-label-resetpassword', ]; } $lang = $this->getLanguage(); $showGrants = MWGrants::getValidGrants(); $fields['grants'] = [ 'type' => 'checkmatrix', 'label-message' => 'botpasswords-label-grants', 'help-message' => 'botpasswords-help-grants', 'columns' => [ $this->msg( 'botpasswords-label-grants-column' )->escaped() => 'grant' ], 'rows' => array_combine( array_map( 'MWGrants::getGrantsLink', $showGrants ), $showGrants ), 'default' => array_map( function( $g ) { return "grant-$g"; }, $this->botPassword->getGrants() ), 'tooltips' => array_combine( array_map( 'MWGrants::getGrantsLink', $showGrants ), array_map( function( $rights ) use ( $lang ) { return $lang->semicolonList( array_map( 'User::getRightDescription', $rights ) ); }, array_intersect_key( MWGrants::getRightsByGrant(), array_flip( $showGrants ) ) ) ), 'force-options-on' => array_map( function( $g ) { return "grant-$g"; }, MWGrants::getHiddenGrants() ), ]; $fields['restrictions'] = [ 'class' => 'HTMLRestrictionsField', 'required' => true, 'default' => $this->botPassword->getRestrictions(), ]; } else { $linkRenderer = $this->getLinkRenderer(); $dbr = BotPassword::getDB( DB_REPLICA ); $res = $dbr->select( 'bot_passwords', [ 'bp_app_id' ], [ 'bp_user' => $this->userId ], __METHOD__ ); foreach ( $res as $row ) { $fields[] = [ 'section' => 'existing', 'type' => 'info', 'raw' => true, 'default' => $linkRenderer->makeKnownLink( $this->getPageTitle( $row->bp_app_id ), $row->bp_app_id ), ]; } $fields['appId'] = [ 'section' => 'createnew', 'type' => 'textwithbutton', 'label-message' => 'botpasswords-label-appid', 'buttondefault' => $this->msg( 'botpasswords-label-create' )->text(), 'buttonflags' => [ 'progressive', 'primary' ], 'required' => true, 'size' => BotPassword::APPID_MAXLENGTH, 'maxlength' => BotPassword::APPID_MAXLENGTH, 'validation-callback' => function ( $v ) { $v = trim( $v ); return $v !== '' && strlen( $v ) <= BotPassword::APPID_MAXLENGTH; }, ]; $fields[] = [ 'type' => 'hidden', 'default' => 'new', 'name' => 'op', ]; } return $fields; } protected function alterForm( HTMLForm $form ) { $form->setId( 'mw-botpasswords-form' ); $form->setTableId( 'mw-botpasswords-table' ); $form->addPreText( $this->msg( 'botpasswords-summary' )->parseAsBlock() ); $form->suppressDefaultSubmit(); if ( $this->par !== null ) { if ( $this->botPassword->isSaved() ) { $form->setWrapperLegendMsg( 'botpasswords-editexisting' ); $form->addButton( [ 'name' => 'op', 'value' => 'update', 'label-message' => 'botpasswords-label-update', 'flags' => [ 'primary', 'progressive' ], ] ); $form->addButton( [ 'name' => 'op', 'value' => 'delete', 'label-message' => 'botpasswords-label-delete', 'flags' => [ 'destructive' ], ] ); } else { $form->setWrapperLegendMsg( 'botpasswords-createnew' ); $form->addButton( [ 'name' => 'op', 'value' => 'create', 'label-message' => 'botpasswords-label-create', 'flags' => [ 'primary', 'progressive' ], ] ); } $form->addButton( [ 'name' => 'op', 'value' => 'cancel', 'label-message' => 'botpasswords-label-cancel' ] ); } } public function onSubmit( array $data ) { $op = $this->getRequest()->getVal( 'op', '' ); switch ( $op ) { case 'new': $this->getOutput()->redirect( $this->getPageTitle( $data['appId'] )->getFullURL() ); return false; case 'create': $this->operation = 'insert'; return $this->save( $data ); case 'update': $this->operation = 'update'; return $this->save( $data ); case 'delete': $this->operation = 'delete'; $bp = BotPassword::newFromCentralId( $this->userId, $this->par ); if ( $bp ) { $bp->delete(); } return Status::newGood(); case 'cancel': $this->getOutput()->redirect( $this->getPageTitle()->getFullURL() ); return false; } return false; } private function save( array $data ) { $bp = BotPassword::newUnsaved( [ 'centralId' => $this->userId, 'appId' => $this->par, 'restrictions' => $data['restrictions'], 'grants' => array_merge( MWGrants::getHiddenGrants(), preg_replace( '/^grant-/', '', $data['grants'] ) ) ] ); if ( $this->operation === 'insert' || !empty( $data['resetPassword'] ) ) { $this->password = BotPassword::generatePassword( $this->getConfig() ); $passwordFactory = new PasswordFactory(); $passwordFactory->init( RequestContext::getMain()->getConfig() ); $password = $passwordFactory->newFromPlaintext( $this->password ); } else { $password = null; } if ( $bp->save( $this->operation, $password ) ) { return Status::newGood(); } else { // Messages: botpasswords-insert-failed, botpasswords-update-failed return Status::newFatal( "botpasswords-{$this->operation}-failed", $this->par ); } } public function onSuccess() { $out = $this->getOutput(); $username = $this->getUser()->getName(); switch ( $this->operation ) { case 'insert': $out->setPageTitle( $this->msg( 'botpasswords-created-title' )->text() ); $out->addWikiMsg( 'botpasswords-created-body', $this->par, $username ); break; case 'update': $out->setPageTitle( $this->msg( 'botpasswords-updated-title' )->text() ); $out->addWikiMsg( 'botpasswords-updated-body', $this->par, $username ); break; case 'delete': $out->setPageTitle( $this->msg( 'botpasswords-deleted-title' )->text() ); $out->addWikiMsg( 'botpasswords-deleted-body', $this->par, $username ); $this->password = null; break; } if ( $this->password !== null ) { $sep = BotPassword::getSeparator(); $out->addWikiMsg( 'botpasswords-newpassword', htmlspecialchars( $username . $sep . $this->par ), htmlspecialchars( $this->password ), htmlspecialchars( $username ), htmlspecialchars( $this->par . $sep . $this->password ) ); $this->password = null; } $out->addReturnTo( $this->getPageTitle() ); } protected function getGroupName() { return 'users'; } protected function getDisplayFormat() { return 'ooui'; } }