XADB 2022-11-29 22:57 采纳率: 33.3%
浏览 25
已结题

请问汏佬要怎么访问获取到别人网站内这种被过滤了post和get的php内容?

下面是这种PHP的样本,除了一些配置信息不一样

<?php
error_reporting(0);
//session_start();
date_default_timezone_set('PRC');
header("Content-type: text/html; charset=utf-8");
$gmcode='l@19sd9wu';
$quarr = array (
 "1" => array (
  "manageurl"=>"http://127.0.0.1:9329/",//请以/结尾
  "host"=>"127.0.0.1",
  "dbname"=>"ls_n",
  "user"=>"root",
  "pwd"=>"root1234",
  "zoneid"=>1,
  "servers"=>"ls_1",
  "name"=>"adds",
  "manageuser"=>"admin",
  "managepwd"=>"h81hql@290",
  "hidde"=>false ),);
$getfilter="'|(and|or)\\b.+?(>|<|=|in|like)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
$postfilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
$cookiefilter="\\b(and|or)\\b.{1,6}?(=|>|<|\\bin\\b|\\blike\\b)|\\/\\*.+?\\*\\/|<\\s*script\\b|\\bEXEC\\b|UNION.+?SELECT|UPDATE.+?SET|INSERT\\s+INTO.+?VALUES|(SELECT|DELETE).+?FROM|(CREATE|ALTER|DROP|TRUNCATE)\\s+(TABLE|DATABASE)";
function StopAttack($StrFiltKey,$StrFiltValue,$ArrFiltReq){
    if(is_array($StrFiltValue)){
        $StrFiltValue=implode($StrFiltValue);
    }
    if (preg_match("/".$ArrFiltReq."/is",$StrFiltValue)==1){
        print "非法操作!";
        exit();
    }
}
foreach($_GET as $key=>$value){
    StopAttack($key,$value,$getfilter);
}
foreach($_POST as $key=>$value){
    StopAttack($key,$value,$postfilter);
}
foreach($_COOKIE as $key=>$value){
    StopAttack($key,$value,$cookiefilter);
}
function poststr($str){
 if(isset($_POST[$str])){
  return $_POST[$str];
 }
die("您提交的参数非法!");
}
function timediff($begin_time,$end_time)
{
if($begin_time < $end_time){
  $starttime = $begin_time;
  $endtime = $end_time;
}else{
  $starttime = $end_time;
  $endtime = $begin_time;
}
//计算天数
$timediff = $endtime-$starttime;
  $cha = date_diff(date_create(date('Ymd',$starttime)),date_create(date('Ymd',$endtime)));
$days =  $cha->days;
//$days = round($timediff/86400);
//计算小时数
$remain = $timediff%86400;
$hours = intval($remain/3600);
//计算分钟数
$remain = $remain%3600;
$mins = intval($remain/60);
//计算秒数
$secs = $remain%60;
$res = array("day" => $days,"hour" => $hours,"min" => $mins,"sec" => $secs);
return $res;
}
function SafeRequest($key, $mode, $type = 0) { //过滤post和get传递的参数
 $magic = get_magic_quotes_gpc();
 switch ($mode) {
  case 'post':
$value = isset($_POST[$key]) ? $magic ? trim($_POST[$key]) : addslashes(trim($_POST[$key])) : NULL;
  break;
  case 'get':
$value = isset($_GET[$key]) ? $magic ? trim($_GET[$key]) : addslashes(trim($_GET[$key])) : NULL;
  break;
 }
 return $type ? $value : htmlspecialchars(str_replace('\\' . '\\', '', $value), ENT_QUOTES, "UTF-8", false);
}
function get($url,$postdata){
        $ch = curl_init(); 
        curl_setopt($ch, CURLOPT_URL, $url.'?'.http_build_query($postdata)); 
        curl_setopt($ch, CURLOPT_HEADER, 0); 
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 
        curl_setopt($ch, CURLOPT_TIMEOUT, 10);
        $output = curl_exec($ch);
        $errorCode = curl_errno($ch);
        return $output;
    }
?>

  • 写回答

4条回答 默认 最新

  • 普通网友 2022-11-30 08:20
    关注

    这个相当于定义了一个文件,里面有几个函数,那么你要访问的话,最直接就是访问文件的函数,
    当然,这是最原始的方式,在框架中的话,那就有点不一样了。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月2日
  • 修改了问题 12月2日
  • 修改了问题 12月2日
  • 修改了问题 12月2日
  • 展开全部

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错