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

平顶山网站建设服务公司网站建设规划书有哪些内容

平顶山网站建设服务公司,网站建设规划书有哪些内容,商城网站系统建设,wordpress 插件位置1.ezmd5 根据题目提示 我们知道应该是要上传两张md5值相同的图片 根据原文链接#xff1a;cryptanalysis - Are there two known strings which have the same MD5 hash value? - Cryptography Stack Exchange 把保存下来的图片上传一下 得到flag 2.ezhttp 根据原文链接cryptanalysis - Are there two known strings which have the same MD5 hash value? - Cryptography Stack Exchange 把保存下来的图片上传一下 得到flag 2.ezhttp 根据原文链接如何伪造http头让后端认为是本地访问 - 技术栈 看页面源代码提示应该是要扫描后台 访问robots.txt 再访问 得到账号和密码 登录后 提示要伪造refer bp抓包 发包过去又说要伪造XYCTF的浏览器 发包又提示要伪造本地用户 伪造X-Forwarded-For:127.0.01 那就只能换一个伪造 发包过去又说要伪造 伪造via 又说要伪造。。崩溃了 那就是伪造cookie把cookie的值改为XYCTF得到flag XYCTF{83214032-3ef6-48ca-9a27-5ef6dd58ef8c} 知识点 1.via伪造代理 2.client-ip和X-Forwarded-For的用处差不多 参考文章鲜为人知的HTTP协议头字段详解大全 - 知乎 3.牢牢记住逝者为大 第一层绕过cmd的长度不能大于13 第二层绕过cmd中不能有echo  exec  eval  system  fputs  .   /   \  字眼这里/i就是大小写都识别 第三层绕过val_val中不能有bin  mv  cp  ls  |  f  a  l  ?  *    字眼 然后就是命令执行 #man和cmd参数 和 manba out 拼接起来的命令 构造payload cp /var/www/html/88.txt 将其转换为八进制结果为143 160 040 057 146 154 141 147 040 057 166 141 162 057 167 167 167 057 150 164 155 154 057 070 070 056 164 170 164 012 (为什么不转为16进制主要是第三层绕过里面有过滤f而我们转换的结果里面包含了f 我们将八进制统一加上/0得到 \0143\0160\0040\0057\0146\0154\0141\0147\0040\0057\0166\0141\0162\0057\0167\0167\0167\0057\0150\0164\0155\0154\0057\0070\0070\0056\0164\0170\0164\0012 我们构造payload的时候要注意eval执行的第一个字符是注释符所以我们要绕过注释符用到换行符%0A同时还要注释掉后面的manba out避免影响eval执行命令所以这里用到%23用连接前后语句用%24表示$这样就会执行我们后面的语句 /?cmd%0A$_GET[1];%231%24(echo -e \0143\0160\0040\0057\0146\0154\0141\0147\0040\0057\0166\0141\0162\0057\0167\0167\0167\0057\0150\0164\0155\0154\0057\0070\0070\0056\0164\0170\0164\0012) 成功上传payload后 访问88.txt 得到flag 知识点 1. Linux cp命令主要用于复制文件或目录。 语法 cp [选项] 源文件 目标文件 2. preg_match命令 模式分隔符后的i标记这是一个大小写不敏感的搜索 我的理解就是如果要用preg_match搜索多个字符串就用 |  连接 这里的 i 就是不管大写还是小写都识别这里我们把 i 删了重新理解一下 3. 各种进制的表达 在C语言里整数有三种表示形式十进制八进制十六进制。其中以数字0开头由0~7组成的数是八进制。以0X或0x开头由0~9A~F或a~f 组成是十六进制。除表示正负的符号外以1~9开头由0~9组成是十进制。 十进制除表示正负的符号外以1~9开头由0~9组成。如 128234-278。 八进制以0开头由0~7组成的数。如 0126, 050000. 十六进制以0X或0x开头由0~9A~F或a~f 组成。如 0x12A, 0x5a000。 4. 我们要注意如果要传入八进制数在url上我们必须使用转义字符 \ 使其url能正确识别为八进制数而不是当作普通的十进制数0xx来识别但是这里还需要注意的是在url上 \ 表示路径分隔符为了url能将 \ 当做转义符号而不是路径分隔符我们可以使用echo -e命令。 shell echo的各种用法 echo -e   // –e 在这里启用反斜杠转义的解释 详见Shell echo命令 | 菜鸟教程 反引号中的命令当作shell命令执行 5. url编码就是一个字符ascii码的十六进制 回车ASCII码13\r 换行ASCII码10\n10的16进制是0xA所以url编码是%0A 空格ASCII码3232的16进制是0x20所以url编码是%20 # url编码是%23 4.warm up 第一层如果val1和val2值不相等但是md5弱比较相等输出ez 第二层如果md5参数自身和自身的md5值相等输出ezez 第三层如果xy和xyctf弱比较相等且xy不等于XYCTF_550102591,xy的md5值和XYCTF_550102591的md5值相等则输level2 (这里有个相似的例题可以参考buuctf朴实无华 传入payload 利用到变量覆盖漏洞我们这里直接给xyctf传入值就可以覆盖掉原先xyctf的值 /?XYCTFQNKCDZOval1[]1val2[]2md50e215962017XYQNKCDZO 得到提示访问LLeeevvveeelll222.php 代码审计一下 我们要intval函数转换结果不为0而且还要post传入的a中不包含0~9 就输出那一串文字替换操作是通过调用 preg_replace($_GET[a],$_GET[b],$_GET[c]) 来实现的。其中$_GET[a] 是正则表达式模式$_GET[b] 是替换文本$_GET[c] 是要进行替换操作的目标文本 知识点 1.echo(),print(),print_r()的区别 参考链接PHP中echo(),print(),print_r()的区别及打印函数-CSDN博客 echo可以输出多个变量值且没有返回值 print只有一个变量作为一个字符串输出有返回值1且不能输出数组和对象多用于打印字符串 print_r可以输出stirng、int、float、array、object等输出array时会用结构表示多用于打印复合类型如数组。print_r打印关于变量的易于理解的信息。 echo是PHP语句 print和print_r是函数语句没有返回值函数可以有返回值(即便没有用) print    只能打印出简单类型变量的值(如intstring) print_r 可以打印出复杂类型变量的值(如数组,对象) echo     输出一个或者多个字符串 例 在代码中 换成print函数则变成了 2.preg_match函数 参考链接正则表达式学习笔记超级详细| 有用的小知识_1\d{2}-CSDN博客 在正则中可以用一些简写字符 在正则中可以用的一些标志模式修饰符 标志也叫模式修正符因为它可以用来修改表达式的搜索结果。 这些标志可以任意的组合使用它也是整个正则表达式中的一部分 在正则中可以用的一些元字符 正则的语法参数 pattern参数 正则表达式模式通常以斜杠开头和结尾例如 /pattern/ matches参数 是一个可选的输出参数用于存储匹配到的结果。它是一个数组其中每个元素对应一个匹配到的子模式圆括号包裹的部分 在函数调用后如果匹配成功$matches 数组将会被填充上匹配到的子串。第一个元素 $matches[0] 将包含整个匹配到的字符串接下来的元素 $matches[1]、$matches[2] 等将分别包含第一个、第二个圆括号包裹的子模式的匹配结果 例 在代码中 在这个例子中$matches[0] 包含整个匹配到的字符串即 12345789。 正则的返回值 如果 pattern 匹配到指定 subject则 preg_match() 返回 1如果没有匹配到则返回 0 或者在失败时返回 false。 例 3.extract函数 本函数用来将变量从数组中导入到当前的符号表中。常用于变量覆盖漏洞 4.preg_match绕过 扩展有哪些常见的代码执行的函数 1eval函数 把字符串code当作php代码执行 eval ( string $code ) : mixed 2assert函数 在PHP5或PHP7中如果assertion是字符串它将会被assert()当做PHP代码来执行。 PHP 5 assert ( mixed $assertion [, string $description ] ) : bool PHP 7 assert ( mixed $assertion [, Throwable $exception ] ) : bool 数组绕过 preg_match只能处理字符串当传入的subject是数组时会返回false 例 换行符绕过 .不会匹配换行符 \n 例 异或绕过 文章参考命令执行中关于PHP正则表达式的一些绕过方法_正则表达式中过滤的怎么绕过-CSDN博客 在PHP中两个字符串异或之后得到的还是一个字符串。如果正则过滤了一些字符串那就可以使用两个不在正则匹配范围内的字符串进行异或得到我们想要的字符串。 例 echo ? ^ ~ ; 运行结果为A 异或绕过的原理 异或规则 相同为0不同为1 1 xor 1 0 0 xor 0 0 1 xor 0 1 0 xor 1 1 继续拿实例 echo ! ^ s ;  //运行结果为 r 和 S 异或出来的  r ​可以把1理解为真0理解为假那么就可以把“”理解为“与”“|”理解为“或”**而对于“^”则是相同为就0** ​回到做题上来我们只要知道我们想要的字符的对应哪两个字符异或只需要找到正则里没有过滤的字符异或得到我们想要的字符 这里我们可以看一下p神的payload、 在p神的代码中 _ 和   __ 和 ___ 是 构造的变量因为preg_match()过滤了所有的字母我们只能用下划线来作变量名。 p神用的语句是 (在PHP5当中assert()的作用和eval()相似都是执行但是eval是因为是一个语言构造器而不是一个函数不能被可变函数调用所以这种拼接的方法只能用assert而不能用eval。只不过eval()只执行符合php编码规范的代码PHITHON师傅这里还有就是使用 变量 进行payload拼接 把payload拼接组合一下就是仅phpPHP 7.0.12及以下版本可以使用) $_(%01^).(%13^).(%13^).(%05^).(%12^).(%14^);$___.(%0D^]).(%2F^).(%0E^]).(%09^]);$___$$__;$_($___[_]); 这里传入了shellassert($_POST[ _ ])由于_不受限制就可以任意传值了。这里有一个误区就是仅传入shell$_POST[ _ ]这样的确最终代码是eval($_POST[ _ ])了但当外面的eval执行了之后就仅剩下一个$_POST[ _ ]了所以不行 因为有很多不可打印字符所以使用url编码表示 然后只需要在POST里面传参 _phpinfo();       可以蚁剑连接了密码为_ 这个payload经测试PHP 7.0.12及以下版本可以使用碰到更高的版本可能assert()不能使用了可以换成eval() 另外一种绕过方法 payload ${%ff%ff%ff%ff^%a0%b8%ba%ab}{%ff}();%ffphpinfo 即 ​${_GET}{%ff}();%ffphpinfo 这里是用 %ff%ff%ff%ff  和 %a0%b8%ba%ab 进行异或运算得到_GET) 任何字符与0xff异或都会取相反这样就能减少运算量了。 注意测试中发现传值时对于要计算的部分不能用括号括起来因为括号也将被识别为传入的字符串可以使用{}代替原因是php的use of undefined constant特性例如${_GET}{a}这样的语句php是不会判为错误的因为{}使用来 界定变量 的这句话就是会将_GET自动看为字符串也就是$_GET[a] url编码取反绕过 例 我们可以构造payloadphpinfo(); 此时我们就可以传入 ~%8F%97%8F%96%91%99%90)(); PHP利用PCRE回溯次数限制绕过某些安全限制 参考文章;PHP利用PCRE回溯次数限制绕过某些安全限制 | 离别歌 preg_match函数回溯次数上限默认是100万我们可以通过发送超长字符串的方式使正则返回bool(false)绕过限制 怎么修复PCRE带来的问题 利用全等号来判断返回值这样即使返回了bool(false)也不会进入循环语句 5.intval函数绕过 intval函数用法 参考文章[WUSTCTF 2020]朴实无华PHP 下的 intval 绕过技巧_intval( 绕过注入-CSDN博客 用于将其他类型的数据转化为整型数据 intval(mixed $value, int $base 10): int 针对浮点数intval函数采用的是“截断而非四舍五入”的方法 例如 intval函数的进制转换 intval() 函数的 $base 参数仅在 $value 参数的数据类型为 字符串 时生效。 当我们需要将一个 采用 $base 进制的数值 转化为 十进制数值 时需要 先将该数值转化为字符串 再交由 intval() 函数进行处理。 例如 实例是将八进制的3633转换为十进制须为字符串类型时才能生效转为十进制的1947 intval函数字符串解析规则十进制 例 intval函数字符串解析规则其他进制 扩充二进制、八进制、十六进制的前缀 0B 0b表示二进制的前缀 例如:0B10101010111 0O( 大写英文字母O) 表示八进制的前缀 或者使用空格加上0 注意是空格加上0 即: 0 例如 076 或者 0O76 0x0X  表示十六进制的前缀 例如0x18 intval函数字符串解析规则科学计数法 intval函数数组解析规则 转换数组类型时不关心数组中的内容只判断数组中有没有元素。 数组里面有元素返回1 数组里面没有元素返回0 例 取反 ~取反符号 例 算数运算符 intval() 函数支持算数运算符如果传入的 $var参数包含算数运算符会先运算再对运算结果进行转换。 例 intval函数绕过思路 参考文章PHP intval()函数详解intval()函数漏洞原理及绕过思路_intval函数-CSDN博客 1当某个数字被过滤时可以使用它的 8进制/16进制来绕过比如过滤10就用012八进制或0xA十六进制。 2对于弱比较ab可以给a、b两个参数传入空数组使弱比较为true。 3当某个数字被过滤时可以给它增加小数位来绕过比如过滤3就用3.1。 4当某个数字被过滤时可以给它拼接字符串来绕过比如过滤3就用3ab。GET请求的参数会自动拼接单引号 5当某个数字被过滤时可以两次取反来绕过比如过滤10就用~~10。 6当某个数字被过滤时可以使用算数运算符绕过比如过滤10就用 55 或 2*5。 6.preg_replace \e模式下的代码执行 5.ezPOP ?php error_reporting(0); highlight_file(__FILE__);class AAA {public $s;public $a;public function __toString(){echo you get 2 A br;$p $this-a;return $this-s-$p;} }class BBB {public $c;public $d;public function __get($name){echo you get 2 B br;$a$_POST[a];$b$_POST;$c$this-c;$d$this-d;if (isset($b[a])) {unset($b[a]);}call_user_func($a,$b)($c)($d);} }class CCC {public $c;public function __destruct(){echo you get 2 C br;echo $this-c;} }if(isset($_GET[xy])) {$a unserialize($_GET[xy]);throw new Exception(noooooob!!!); } 6.ezMake 7.ezSerialize 8.ezRCE 知识点 1.str_split 将字符串转换为数组 str_split(string $string, int $length 1): array 例 如果指定长度则
http://www.zqtcl.cn/news/767801/

相关文章:

  • 网站百度不收录wordpress偽靜態
  • 沈阳php网站建网站需要学什么
  • WordPress多站点绑定域名百度帐号注册
  • 网站营销队伍网站建设明薇通网络
  • 做网站的公司重庆万网x5 wordpress
  • 印刷设计营销网站网站设置成黑白
  • 百度自助建站官网上海徐汇网站建设
  • 网站定制 北京贵阳网站建设公司哪家好
  • 如何做logo模板下载网站企业策划
  • 合肥做网站的公司讯登欧亚达网站是哪家公司做的
  • 网站模板带有sql后台下载企业网站建设平台的功能
  • 网站推广的实际案例电子商务网站建设的要求
  • 永平建设有限公司网站2023一般纳税人企业所得税怎么算
  • 创业网站推广怎么做简单的网站首页
  • 外贸网站模板 外贸网站制作如何推广宣传一个品牌
  • 中企动力企业邮箱 手机邮箱河南网站建设优化推广
  • 广州seo网站多少钱王野天津音乐广播电台图片
  • 东莞网站制作十强怎么做一个链接网站
  • 深圳网站设计 建设首选wordpress 获取父页面
  • 大兴企业网站建设公司wordpress谷歌字体优化
  • 哈尔滨建设银行网站网站建设运营服务商
  • 重庆本地建站企业网站建设流程及费用
  • 网站建设需要用到那些语言简述网站建设和推广评价指标
  • 17网站一起做 佛山印刷做网站网上接单
  • 网站建设步骤 优帮云网站建设首选定制开发
  • 专门做家居的网站国内企业网站设计
  • 做网站时怎么取消鼠标悬停性价比最高网站建设
  • 三网合一网站模板网站上内容列表怎么做
  • 鲜花商城网站建设西安房产网站大全
  • 家庭宽带做网站空间一个数据库可以做几个网站