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

沈阳市建设公司网站网站制作软件是什么

沈阳市建设公司网站,网站制作软件是什么,wordpress 什么语言,什么更新wordpress代码审计思路#xff1a; 从个人角度出发#xff0c;如果环境允许的话#xff0c;可以先选择做一个”程序员“再来做代码审计。因为从开发者的位置去思考问题#xff0c;可以快速定位问题。学习面向对象编程以及面向过程编程#xff0c;编写一些 项目提升对代码的理解能力…代码审计思路 从个人角度出发如果环境允许的话可以先选择做一个”程序员“再来做代码审计。因为从开发者的位置去思考问题可以快速定位问题。学习面向对象编程以及面向过程编程编写一些 项目提升对代码的理解能力再是对各种漏洞可以独立挖掘利用并能理解漏洞的危害这里我们主要针 对PHP源码做审计。 接下来我们从三个层次开始我们的源码审计思路 .确定要审计的源码是什么语言确定该源码是单入口还是多入口确定该语言的各种漏洞诞生的函数 PHP核心配置 一个漏洞在不同环境造成的结果也是不一样的。 由于关于php.ini配置的内容过于多这里推荐浏览官方文档 https://www.php.net/manual/zh/ini.ph p我们在这里主要列下php.ini 主要使用的安全配置。 代码审计环境 PHP源码部署环境Phpstudy 2018等 集成开发环境Zend Studio/Phpstorm 数据库管理工具Navicat for MySQL 12 MySQL实时监控工具MySQLMonitor 文本编辑工具Sublime_Text3 代码审计辅助工具Seay源代码审计系统、Search and Replace、Rips 0.55 代码审计辅助安全工具渗透版火狐、BurpSuite、Sqlmap 手动调试代码 echo exit(); print_r var_dump(); debug_zval_dump(); debug_print_backtrace(); echo scriptalert($estr);/script; die(scriptalert($estr);/script); PHP的弱类型 1.比较符号 与 在进行比较的时候会先将字符串类型转化成相同如果整型跟字符型比较字符或从左往右提取 整型直到遇到字符结束再比较。 在进行比较的时候会先判断两种字符串的类型是否相等当等号两边类型不同时会先转换 为相同的类型再对转换后的值进行比较如果比较一个数字和字符串或者涉及到数字内容的字符 串则字符串会被转换成数值并且比较按照常数值进行比较.。 //字符串和数字比较 var_dump(0admin); //true echo br; var_dump(11admin); //true echo br; var_dump(1admin1); //false echo br; var_dump(0admin1); //true echo br; //数字和数组 $arr array(); var_dump(0$arr); //false echo br; //字符串和数组 $arr array(); var_dump(0$arr); //false echo br; //合法数字e合法数字类型的字符串 var_dump(0e1234560e4456789); //true echo br; var_dump(1e110); //true 2.array_search 与 is_array is_array:判断传入的是不是一个数组。 array_searchx$数组:在数组中寻找与指定值(x)相等的值array_search函数 类似于 会进行类型的转换。 if(!is_array($_GET[test])){ exit(); } $test $_GET[test]; for($i 0;$icount($test) ;$i ){ if($test[$i] admin){ echo error; exit(); } $test[$i] intval($test[$i]); } if(array_search(admin,$test) 0){ echo flag; }else{ echo false; } 我们可以传入test[]0来进行绕过首先test是一个数组符合is_array的判断然后test0在 array_search中0admin为true绕过了array_search。 3.in_array()函数 array_search()与in_array()也是一样的问题。 $array[0,1,2,3]; var_dump(in_array(abc, $array)); //true var_dump(in_array(1bc, $array)); //true 4.is_number()函数 检测变量是否为数字或数字字符串,如果var是数字和数字字符串则返回TRUE,否则返回FALSE $temp $_GET[password]; is_numeric($temp) ? die(no numeric) : NULL; if($temp9999){ echo 我giao; } 在这里我们的payload需要的是一个大于9999的数字后面加上字符就可以了 这里构造的是10000 。 5.strcmp()函数 比较函数如果两者相等返回0string1string2返回0 反之小于0。在5.3及以后的php版本中当 strcmp()括号内是一个数组与字符串比较时也会返回0。 函数接受到了不符合的类型发生了错误但是还是判断其相等。 6.switch()语句 如果switch是数字类型的case的判断时,switch会将参数转换为int类型 $pwd 1ad; switch($pwd){ case 1: echo giao; break; case 2: echo ?; break; }7.md5()函数 0e开头的全部相等绕过判断两个字符串转换成MD5值时都是0e开头0e 纯数字这种格式 的字符串在判断相等的时候会被认为是科学计数法的数字先做字符串到数字的转换。 md5()中的需要是一个string类型的参数。但是当你传递一个array时md5()不会报错只是会无 法正确地求出array的md5值返回false这样就会导致任意2个array的md5值都会相等。 var_dump(md5(240610708) md5(QNKCDZO));//true $array1[1,2,3]; $array2[4,5,6]; var_dump(md5($array1)md5($array2)) //true 8.sha1()函数 sha1函数和md5函数一样不能判断数组的值。 $array1[1,2,3]; $array2[4,5,6]; var_dump(sha1($array1)sha1($array2)); //true 9.empty与isset 变量为:0,0,null,,false,array()时,使用empty函数,返回的都是true 变量未定义或者为null时,isset函数返回的为false,其他都为true $a null; $b 0; $c ; var_dump(empty($a)); var_dump(empty($b)); var_dump(empty($c)); var_dump(isset($a)); var_dump(isset($b)); var_dump(isset($c));学习漏洞函数 1.全局变量/超全局变量 全局变量 定义在函数外部的就是全局变量它的作用域从定义处一直到文件结尾。 函数内定义的变量就是局部变量它的作用域为函数定义范围内。 函数之间存在作用域互不影响。 函数内访问全局变量需要 global关键字或者使用 $GLOBALS[index]数组。 超全局变量 超全局变量 在 PHP 4.1.0 中引入是在全部作用域中始终可用的内置变量。 PHP 中的许多预定义变量都是“超全局的”这意味着它们在一个脚本的全部作用域中都可用。在函 数或方法中无需执行 global $variable; 就可以访问它们。 常用的超全局变量有9个 $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION 2.SQL注入 select update insert into delete 注此处非函数主要找常用的SQL语句 3.代码执行 eval() usort() uasort() assert() array_map() preg_replace() array_filter() call_user_func() create_function() call_user_func_array() 文件操作函数 fputs(fopen(shell.php,w),?php eval($_POST[cmd])?); 动态函数$_GET[a]($_GET[b]) 4. 命令执行 system() exec() passthru() shell_exec() 5. XSS跨站脚本攻击 print print_r echo printf die var_dump var_export 6.文件上传漏洞 move_uploaded_file() 7.文件包含漏洞 include() include_once() require() require_once() 伪协议 file:// — 访问本地文件系统 http:// — 访问 HTTP(s) 网址 ftp:// — 访问 FTP(s) URLs php:// — 访问各个输入/输出流I/O streams zlib:// — 压缩流 data:// — 数据RFC 2397 glob:// — 查找匹配的文件路径模式 phar:// — PHP 归档 ssh2:// — Secure Shell 2 rar:// — RAR ogg:// — 音频流 expect:// — 处理交互式的流 8.任意文件下载 fopen() readfile() file_get_contents() 9.任意文件删除 unlink() 10.任意文件读取 file() fgets() fgetss() fopen() readfile() fpassthru() parse_ini_file() file_get_contents() 11.变量覆盖 $$ extract() parse_str() import_request_variables()//此函数只能用于PHP4.1 ~ PHP5.4 12.反序列化漏洞 unserialize() 魔术方法 __construct()//每次创建新对象时先调用此方法所以非常适合在使用对象之前做一些初始化工作__destruct()//某个对象的所有引用都被删除或者当对象被显式销毁时执行__call() //在对象上下文中调用不可访问的方法时触发__callStatic() //在静态上下文中调用不可访问的方法时触发__get() //用于从不可访问的属性读取数据__set() //用于将数据写入不可访问的属性__isset() //在不可访问的属性上调用isset()或empty()触发__unset() //在不可访问的属性上使用unset()时触发__sellp() //使用serialize时触发__wakeup() //使用unserialize时触发__toString() //把类当作字符串使用时触发__invoke() //当脚本尝试将对象调用为函数时触发__set_state()//当调用 var_export() 导出类时此静态方法会被自动调用。__clone()//当使用 clone 复制一个对象时自动调用__debuginfo()//使用 var_dump() 打印对象信息时自动调用 审计入门总结 先从Web漏洞原理开始理解再到漏洞的挖掘以及利用我们就来到了PHP代码审计这个方向进行进修。 这里我们开始学习PHP开发以及熟悉下开发者的开发思想站在开发者角度去思索代码。再是掌握漏 洞对应发生函数使用再是学习正则表达式。 审计路线Demo-综合漏洞靶场-网上审计过的CMS-多入口CMS-单入口CMS-框架-函数缺陷
http://www.zqtcl.cn/news/371757/

相关文章:

  • 网站seo外包南宁网站建设活动
  • 汽车行业网站设计做互联网公司网站谈单模拟视频教学
  • 做网站界面设计注意什么江苏宿迁房产网
  • 传奇服务器网站如何建设帮人做兼职的网站
  • 织梦手机网站有广告位wordpress媒体库现实不全
  • 网站建设外包公司怎么样珠海网站排名提升
  • 电子商务网站建设结业论文做网站的图片字虚
  • 米拓建站最新进展注册做网站的公司有哪些
  • 设计网站设计wordpress 改系统
  • 学校网站建设评审会议通知网站是怎么赢利的
  • 手机网站建设 苏州优化网站哪个好
  • 网站建设流程方案通州网站建设公司
  • 免费的十大免费货源网站全国领先网站制作
  • 农业网站建设方案 ppt中国有什么网站做跨境零售
  • 网站文章结构变更怎么做301如何自己制作自己的网站
  • 网站网站平台建设方案免费制作桥架app
  • 杭州网站界面设计招网站建设销售
  • 网站开发 流程图广州优化seo
  • 夫妻工作室网站建设品牌建设的内容
  • php搭建网站后台建设银行网站如何修改账单地址
  • 网站域名查询系统关键词语有哪些
  • 专业金融网站建设wordpress匿名投稿
  • 生产做网站表带的制造厂家百度文库个人登录
  • 丰都网站建设费用成都品牌包装设计
  • 建设项目安监备案网站免费学生网页制作成品代码
  • wordpress默认登陆地址修改廊坊百度关键词优化怎么做
  • 免费下载策划书的网站外贸网站 域名后缀
  • 网站导航条做信息网站需要什么
  • 网站推广朋友圈文案嵩县网站建设
  • 网站建设实践考试试题app运营推广策划方案