Rumah php教程 php手册 PHPCMS 2008 最新漏洞demo测试详解

PHPCMS 2008 最新漏洞demo测试详解

Jun 13, 2016 am 10:12 AM
demo phpcms memperkenalkan gambar artikel ujian Penjelasan terperinci

本文章来给大家介绍PHPCMS 2008 最新漏洞图文测试详解,有需要了解的同学可进入参考参考。

Phpcms2008 是一款基于 PHP+Mysql 架构的网站内容管理系统,也是一个开源的 PHP 开发平台。Phpcms 采用模块化方式开发,功能易用便于扩展,可面向大中型站点提供重量级网站建设解决方案。3年来,凭借 Phpcms 团队长期积累的丰富的Web开发及数据库经验和勇于创新追求完美的设计理念,使得 Phpcms 得到了近10万网站的认可,并且越来越多地被应用到大中型商业网站。

0x02 写在前面的话
phpcms 2008 这是我看第二次代码了,之前已经发现了一些问题,只是没放出来,这次稍微仔细看了看,又发现了一些问题
这次就放2个吧,其中啥啥的getshell暂时就不会放了,比起v9来说,2008的安全性能确实差很多,模块化以及代码严谨程度也没有v9强
这次还没把代码看完,只看完几个页面,就先放2个有问题的地方,如果有更好的方式,到时候一起讨论 0x03 路径? ? ?
在include/common.inc.php中 ,这是phpcms的全局要加载的配置文件
$dbclass = 'db_'.DB_DATABASE;
require $dbclass.'.class.php';
           
$db = new $dbclass;
$db->connect(DB_HOST, DB_USER, DB_PW, DB_NAME, DB_PCONNECT, DB_CHARSET);
           
require 'session_'.SESSION_STORAGE.'.class.php';
$session = new session();
session_set_cookie_params(0, COOKIE_PATH, COOKIE_DOMAIN);
           
if($_REQUEST)
{
    if(MAGIC_QUOTES_GPC)
    {
        $_REQUEST = new_stripslashes($_REQUEST);
        if($_COOKIE) $_COOKIE = new_stripslashes($_COOKIE);
        extract($db->escape($_REQUEST), EXTR_SKIP);
    }
    else
    {
        $_POST = $db->escape($_POST);
        $_GET = $db->escape($_GET);
        $_COOKIE = $db->escape($_COOKIE);
        @extract($_POST,EXTR_SKIP);
        @extract($_GET,EXTR_SKIP);
        @extract($_COOKIE,EXTR_SKIP);
    }
    if(!defined('IN_ADMIN')) $_REQUEST = filter_xss($_REQUEST, ALLOWED_HTMLTAGS);
    if($_COOKIE) $db->escape($_COOKIE);
}
//echo QUERY_STRING;
if(QUERY_STRING && strpos(QUERY_STRING, '=') === false && preg_match("/^(.*).(htm|html|shtm|shtml)$/", QUERY_STRING, $urlvar))
{
    //var_dump($urlvar[1]);
    //echo 'test';
    parse_str(str_replace(array('/', '-', ' '), array('&', '=', ''), $urlvar[1]));
               
}
Salin selepas log masuk
这里的话首先实例化了这个数据库,产生了一个$db资源句柄,他是用来操作数据库的
然后就是将我们传进来的参数进行变量化
这里有一些小过滤,自己可以看,所以这里传进来的参数就作为了变量
但是接下来这行呢?
if(QUERY_STRING && strpos(QUERY_STRING, '=') === false && preg_match("/^(.*).(htm|html|shtm|shtml)$/", QUERY_STRING, $urlvar))
{
    //var_dump($urlvar[1]);
    //echo 'test';
    parse_str(str_replace(array('/', '-', ' '), array('&', '=', ''), $urlvar[1]));
 
}
Salin selepas log masuk
看看这里?
这里的QUERY_STRING来自前面
define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
define('SCRIPT_NAME', isset($_SERVER['SCRIPT_NAME']) ? $_SERVER['SCRIPT_NAME'] : preg_replace("/(.*).php(.*)/i", "<span>\1.php"</span>, $_SERVER['PHP_SELF']));
define('QUERY_STRING', safe_replace($_SERVER['QUERY_STRING']));
Salin selepas log masuk
这里有个过滤,但是不影响
如果我们在这里进行覆盖这个db变量呢
因为这里 parse_str(str_replace(array('/', '-', ' '), array('&', '=', ''), $urlvar[1]));
可以将我们传进去的/ - 进行替换
所以我们如果提交如下字符 http://localhost/phpcms/index.php?db-5/gid-xd.html 他由于这个db被覆盖就会出错,所以物理路径就爆出来了 0x04 SQL注入!!!
在c.php中
$db->query("UPDATE ".DB_PRE."ads SET `clicks`=clicks+1 WHERE adsid=".$ads['adsid']);
$info['username'] = $_username;
$info['clicktime'] = time();
$info['ip'] = IP;
$info['adsid'] = $id;
$info['referer'] = HTTP_REFERER;
$year = date('ym',TIME);
$table = DB_PRE.'ads_'.$year;
$table_status = $db->table_status($table);
//echo 'test';
if(!$table_status) {
    include MOD_ROOT.'include/create.table.php';
}
$db->insert($table, $info);
Salin selepas log masuk
注意这里的HTTP_REFERER这个常量
这里的常量是通过前面的common.inc.php定义好的
define('HTTP_REFERER', isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '');
没有经过任何过滤操作,所以你懂的,我估计很多同学已经发现了,只是没去公布了,所以俺就替你们xxoo了,哈哈...别骂我
然后
$db->insert($table, $info);
我们来看一下它这里的操作
function insert($tablename, $array)
{
    $this->check_fields($tablename, $array);
    return $this->query("INSERT INTO `<span>$tablename`(`"</span>.implode('`,`', array_keys($array))."`) VALUES('".implode("','", $array)."')");
    //echo "INSERT INTO `$tablename`(`".implode('`,`', array_keys($array))."`) VALUES('".implode("','", $array)."')";
}
Salin selepas log masuk
所以你懂的
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1677
14
Tutorial PHP
1281
29
Tutorial C#
1257
24
Apakah pendapat anda tentang furmark - Bagaimanakah furmark dianggap layak? Apakah pendapat anda tentang furmark - Bagaimanakah furmark dianggap layak? Mar 19, 2024 am 09:25 AM

Apakah pendapat anda tentang furmark? 1. Tetapkan "Mod Jalankan" dan "Mod Paparan" dalam antara muka utama, dan juga laraskan "Mod Ujian" dan klik butang "Mula". 2. Selepas menunggu seketika, anda akan melihat keputusan ujian, termasuk pelbagai parameter kad grafik. Bagaimanakah furmark layak? 1. Gunakan mesin pembakar furmark dan semak hasilnya selama kira-kira setengah jam Ia pada asasnya berlegar sekitar 85 darjah, dengan puncak 87 darjah dan suhu bilik 19 darjah. Casis besar, 5 port kipas casis, dua di hadapan, dua di atas, dan satu di belakang, tetapi hanya satu kipas dipasang. Semua aksesori tidak overclock. 2. Dalam keadaan biasa, suhu biasa kad grafik hendaklah antara "30-85℃". 3. Walaupun suhu ambien terlalu tinggi pada musim panas, suhu biasa ialah "50-85℃"

Sertai pengembaraan Xianxia baharu! Pramuat turun 'Zhu Xian 2' 'Wuwei Test' kini tersedia Sertai pengembaraan Xianxia baharu! Pramuat turun 'Zhu Xian 2' 'Wuwei Test' kini tersedia Apr 22, 2024 pm 12:50 PM

"Ujian Inaction" bagi MMORPG dongeng fantasi baharu "Zhu Xian 2" akan dilancarkan pada 23 April. Apakah jenis kisah pengembaraan dongeng baharu yang akan berlaku di Benua Zhu Xian beribu-ribu tahun selepas karya asal? The Six Realm Immortal World, akademi abadi sepenuh masa, kehidupan abadi percuma, dan semua jenis keseronokan di dunia abadi sedang menunggu rakan-rakan abadi untuk meneroka secara peribadi! Pra-muat turun "Wuwei Test" kini dibuka Rakan-rakan Fairy boleh pergi ke laman web rasmi untuk memuat turun Anda tidak boleh log masuk ke pelayan permainan sebelum pelayan dilancarkan sudah selesai. Waktu pembukaan "Zhu Xian 2" "Inaction Test": 23 April 10:00 - 6 Mei 23:59 Bab pengembaraan dongeng baharu sekuel ortodoks kepada Zhu Xian "Zhu Xian 2" adalah berdasarkan novel "Zhu Xian" sebagai cetak biru Berdasarkan pandangan dunia karya asal, latar belakang permainan ditetapkan

Penjelasan terperinci tentang peranan dan penggunaan pengendali modulo PHP Penjelasan terperinci tentang peranan dan penggunaan pengendali modulo PHP Mar 19, 2024 pm 04:33 PM

Operator modulo (%) dalam PHP digunakan untuk mendapatkan baki pembahagian dua nombor. Dalam artikel ini, kami akan membincangkan peranan dan penggunaan pengendali modulo secara terperinci, dan memberikan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Peranan pengendali modulo Dalam matematik, apabila kita membahagi integer dengan integer lain, kita mendapat hasil bagi dan baki. Sebagai contoh, apabila kita membahagi 10 dengan 3, hasil bahagi ialah 3 dan selebihnya ialah 1. Operator modulo digunakan untuk mendapatkan baki ini. 2. Penggunaan operator modulo Dalam PHP, gunakan simbol % untuk mewakili modulus

Apa itu Dogecoin Apa itu Dogecoin Apr 01, 2024 pm 04:46 PM

Dogecoin ialah mata wang kripto yang dicipta berdasarkan meme Internet, tanpa had bekalan tetap, masa transaksi yang cepat, yuran transaksi yang rendah dan komuniti meme yang besar. Penggunaan termasuk transaksi kecil, petua dan sumbangan amal. Walau bagaimanapun, bekalan tanpa had, turun naik pasaran dan statusnya sebagai syiling jenaka juga membawa risiko dan kebimbangan. Apakah Dogecoin? Dogecoin ialah mata wang kripto yang dicipta berdasarkan meme dan jenaka internet. Asal dan Sejarah: Dogecoin dicipta pada Disember 2013 oleh dua jurutera perisian, Billy Markus dan Jackson Palmer. Diilhamkan oleh meme "Doge" yang popular ketika itu, gambar lucu yang memaparkan Shiba Inu dengan bahasa Inggeris yang rosak. Ciri dan Faedah: Bekalan Tanpa Had: Tidak seperti mata wang kripto lain seperti Bitcoin

Pengenalan kepada platform semakan skor dalam talian (alat pertanyaan skor yang mudah dan pantas) Pengenalan kepada platform semakan skor dalam talian (alat pertanyaan skor yang mudah dan pantas) Apr 30, 2024 pm 08:19 PM

Alat pertanyaan skor pantas memberikan lebih banyak kemudahan untuk pelajar dan ibu bapa Dengan perkembangan Internet, semakin banyak institusi pendidikan dan sekolah telah mula menyediakan perkhidmatan semakan skor dalam talian. Untuk membolehkan anda menjejaki kemajuan akademik anak anda dengan mudah, artikel ini akan memperkenalkan beberapa platform semakan skor dalam talian yang biasa digunakan. 1. Kemudahan - Ibu bapa boleh menyemak markah ujian anak-anak mereka pada bila-bila masa dan di mana-mana sahaja melalui platform semakan skor dalam talian. Selagi ada sambungan Internet, sama ada di tempat kerja atau ketika keluar, ibu bapa boleh mengikuti perkembangan status pembelajaran anak-anak mereka dan memberikan bimbingan dan bantuan yang disasarkan kepada anak-anak mereka. 2. Pelbagai fungsi - sebagai tambahan kepada pertanyaan skor, ia juga menyediakan maklumat seperti jadual kursus dan pengaturan peperiksaan Banyak carian dalam talian tersedia.

Pengenalan terperinci fungsi Samsung S24ai Pengenalan terperinci fungsi Samsung S24ai Jun 24, 2024 am 11:18 AM

2024 ialah tahun pertama telefon mudah alih AI Semakin banyak telefon mudah alih menyepadukan berbilang fungsi AI Diperkasakan oleh teknologi pintar AI, telefon mudah alih kami boleh digunakan dengan lebih cekap dan mudah. Baru-baru ini, siri Galaxy S24 yang dikeluarkan pada awal tahun ini sekali lagi telah meningkatkan pengalaman AI generatifnya Mari lihat pengenalan fungsi terperinci di bawah. 1. Pemerkasaan AI generatif yang mendalam Siri Samsung Galaxy S24 telah membawa banyak aplikasi pintar melalui pemerkasaan Galaxy AI Fungsi ini disepadukan secara mendalam dengan Samsung One UI6.1, membolehkan pengguna memperoleh pengalaman pintar yang mudah pada bila-bila masa, dengan ketara. meningkatkan prestasi telefon bimbit Kecekapan dan kemudahan penggunaan. Fungsi carian segera yang dipelopori oleh siri Galaxy S24 adalah salah satu sorotan Pengguna hanya perlu menekan dan menahan

Pengenalan kepada senjata warna kelapan Neon Abyss Pengenalan kepada senjata warna kelapan Neon Abyss Mar 31, 2024 pm 03:51 PM

Warna kelapan adalah senjata dalam Neon Abyss Ramai pemain ingin tahu tentang balistik warna kelapan senjata dan cara bermain dengan kekuatan senjata. Jadi mari kita lihat panduan terperinci untuk trajektori senjata warna kelapan Neon Abyss, kekuatan senjata dan permainan senjata. Neon Abyss Color 8 Panduan Terperinci Pengenalan Senjata: Senjata Rahsia Wizard! Kelajuan serangan senjata: Kekuatan Senjata Normal: Permainan Senjata Sederhana: Kaedah serangan warna kelapan ialah tiga serangan sasaran tunggal dan kemudian melancarkan sinar. Paparan balistik:

Apakah rangka kerja phpcms? Apakah rangka kerja phpcms? Apr 20, 2024 pm 10:51 PM

PHP CMS ialah sistem pengurusan kandungan sumber terbuka berasaskan PHP untuk mengurus kandungan tapak web Ciri-cirinya termasuk kemudahan penggunaan, kefungsian berkuasa, berskala, keselamatan tinggi dan sumber terbuka percuma. Ia boleh menjimatkan masa, meningkatkan kualiti laman web, meningkatkan kerjasama dan mengurangkan kos pembangunan, dan digunakan secara meluas dalam pelbagai laman web seperti laman web berita, blog, laman web korporat, laman web e-dagang dan forum komuniti.

See all articles