天天看點

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

文章目錄

  • 修改mysql登陸密碼
  • 修改背景密碼
  • 備份web
  • 資料庫備份與還原
  • 修改ssh密碼
  • 自查webshell,敏感檔案
  • 上waf

修改mysql登陸密碼

登陸密碼如果端口沒有對外開放沒有必要修改。

法一:

mysql> set password for [email protected] = password('123');
root:使用者名 123:新的密碼
           
AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

法二:

[email protected]00cfd20efab1:/$ mysqladmin -uroot -p123  password qwe
           
AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

修改完登陸密碼還需要修改配置檔案中的密碼,不然網站無法連接配接資料庫,配置檔案名字一般含有

config database

等關鍵字。

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

修改背景密碼

1,在html目錄中找sql檔案,裡面有使用者名和密碼

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

搜尋admin找admin賬戶的密碼。

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

md5線上解密一下得到密碼,比賽中一般都是爆破弱密碼,密碼一般都是

admin admin123 cms名字

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

2,資料庫中找

$ mysql -u root -p

mysql> show databases;
+-----------------------+
| Database              |
+-----------------------+
| information_schema    |
| bitcoin               |
| cltphp51_db           |
| mysql                 |
| performance_schema    |
| score_mbamission      |
| score_minnesotaunited |
| tweb                  |
+-----------------------+
           

一般在與cms名字相同的資料庫裡面

mysql> use cltphp51_db;
Database changed
mysql> show tables;
+------------------------+
| Tables_in_cltphp51_db  |
+------------------------+
| clt_ad                 |
| clt_ad_type            |
| clt_admin              |
| clt_article            |
| clt_auth_group         |
...
           

成功找到使用者名和密碼

mysql> select *from clt_admin
    -> ;
+----------+-----------+----------------------------------+----------+-------------------+----------+-------------+-----------+------------+---------+---------+
| admin_id | username  | pwd                              | group_id | email             | realname | tel         | ip        | add_time   | mdemail | is_open |
+----------+-----------+----------------------------------+----------+-------------------+----------+-------------+-----------+------------+---------+---------+
|        1 | admin     | 0192023a7bbd73250516f069df18b500 |        1 | [email protected] |          | 18792402229 | 127.0.0.1 | 1482132862 | 0       |       1 |
|        8 | 毛豆豆    | e10adc3949ba59abbe56e057f20f883e |        2 | [email protected] | 0        | 18767654897 | 127.0.0.1 | 1498815814 | 0       |       1 |
+----------+-----------+----------------------------------+----------+-------------------+----------+-------------+-----------+------------+---------+---------+
2 rows in set (0.00 sec)

           

修改:随便修改下不讓登陸就行。

update clt_admin set pwd='qwq' where username='admin';

mysql> update clt_admin set pwd='qwq' where username='admin';

mysql> flush privileges;

mysql> select *from clt_admin;
+----------+-----------+-----+----------+-------------------+----------+-------------+-----------+------------+---------+---------+
| admin_id | username  | pwd | group_id | email             | realname | tel         | ip        | add_time   | mdemail | is_open |
+----------+-----------+-----+----------+-------------------+----------+-------------+-----------+------------+---------+---------+
|        1 | admin     | qwq |        1 | [email protected] |          | 18792402229 | 127.0.0.1 | 1482132862 | 0       |       1 |
|        8 | 毛豆豆    | qwq |        2 | [email protected] | 0        | 18767654897 | 127.0.0.1 | 1498815814 | 0       |       1 |
+----------+-----------+-----+----------+-------------------+----------+-------------+-----------+------------+---------+---------+
2 rows in set (0.00 sec)

           

備份web

web備份方式多種多樣,最簡單的就是使用MobaXterm,winscp,xftp等有圖形化的管理工具直接拖下來即可

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

也可以使用指令備份到伺服器上

tar -zcvf web.tar.gz /var/www/html 備份源碼
tar -zcf /tmp/name.tar.gz /path/web
解包
tar -zxvf archive_name.tar.gz
           

資料庫備份與還原

具體實操可以看這篇部落格:實操:資料庫的備份與還原

資料庫備份:

mysqldump -u db_user -p db_passwd db_name > 1.sql//備份指定資料庫

mysqldump -udb_user -pdb_passwd -A> 1.sql //備份所有資料庫
           

資料庫還原:

法1

mysql -u db_user -p db_passwd db_name < 1.sql //還原指定資料庫
cd /var/lib/mysql
           

法2

mysql -u db_name -p
input passwd 進入mysql控制台mysql>
mysql> show databases;看看有哪些資料庫
mysql> create database test ; 建立要還原的資料庫
mysql> use test;切換到剛建立的資料庫
mysql> source test.sql; 導入資料庫
           

修改ssh密碼

這一步不是必須的,如果主辦方給的密碼夠複雜,那麼就不需要修改。

passwd    	//輸入passwd指令以修改密碼
輸入舊密碼
輸入新密碼
           

如下圖所示:

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

自查webshell,敏感檔案

用seay等工具掃描down下來的源碼

AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf
AWD個人總結--開場工作修改mysql登陸密碼修改背景密碼備份web資料庫備份與還原修改ssh密碼自查webshell,敏感檔案上waf

像這種eval,system等極有可能是預留後門,需要馬上删除,并将資訊提供給攻擊隊員。

上waf

一般包含在index.php或config.php中,如果不嫌麻煩可以給每個php檔案都包含上

<?php
error_reporting(0);
define('LOG_FILENAME', './log.txt');    
function waf() {
    if (!function_exists('getallheaders')) {
        function getallheaders() {
            foreach ($_SERVER as $name => $value) {
                if (substr($name, 0, 5) == 'HTTP_') $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5))))) ] = $value;
            }
            return $headers;
        }
    }
    $get = $_GET;
    $post = $_POST;
    $cookie = $_COOKIE;
    $header = getallheaders();
    $files = $_FILES;
    $ip = $_SERVER["REMOTE_ADDR"];
    $method = $_SERVER['REQUEST_METHOD'];
    $filepath = $_SERVER["SCRIPT_NAME"];
    //rewirte shell which uploaded by others, you can do more
    foreach ($_FILES as $key => $value) {
        $files[$key]['content'] = file_get_contents($_FILES[$key]['tmp_name']);
        file_put_contents($_FILES[$key]['tmp_name'], "virink");
    }
    unset($header['Accept']); //fix a bug
    $input = array(
        "Get" => $get,
        "Post" => $post,
        "Cookie" => $cookie,
        "File" => $files,
        "Header" => $header,
        "ip"   =>$ip,
        "filepath" =>$filepath
    );
//deal with
    $pattern = "select|insert|update|delete|and|or|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile|dumpfile|sub|hex";
    $pattern.= "|file_put_contents|fwrite|curl|system|eval|assert";
    $pattern.= "|passthru|exec|system|chroot|scandir|chgrp|chown|shell_exec|proc_open|proc_get_status|popen|ini_alter|ini_restore";
    $pattern.= "|`|dl|openlog|syslog|readlink|symlink|popepassthru|stream_socket_server|assert|pcntl_exec";
    $vpattern = explode("|", $pattern);
    $bool = false;
    foreach ($input as $k => $v) {
        foreach ($vpattern as $value) {
            foreach ($v as $kk => $vv) {
                if (preg_match("/$value/i", $vv)) {
                    $bool = true;
                    logging($input);
                    break;
                }
            }
            if ($bool) break;
        }
        if ($bool) break;
    }
}
function logging($var) {
    date_default_timezone_set("Asia/Shanghai");//修正時間為中國準确時間
    $time=date("Y-m-d H:i:s");//将時間指派給變量$time
    file_put_contents(LOG_FILENAME, "\r\n\r\n\r\n" . $time . "\r\n" . print_r($var, true) , FILE_APPEND);
    // die() or unset($_GET) or unset($_POST) or unset($_COOKIE);
    
}
waf();
?>