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

企业网站建设要注意哪方面短视频平台推广方案

企业网站建设要注意哪方面,短视频平台推广方案,青岛网站建设公司,政府网站建设工作方案19.EasyMD5 md5相关内容总结: ①string md5(&str,raw) $str:需要计算的字符串; raw:指定十六进制或二进制输出格式。计算成功,返回md5值,计算失败,返回false。 raw参数为true:16个字符的二进制格式&…

19.EasyMD5

md5相关内容总结:

①string md5(&str,raw) $str:需要计算的字符串; raw:指定十六进制或二进制输出格式。计算成功,返回md5值,计算失败,返回false。

raw参数为true:16个字符的二进制格式; false:(默认)32个字符的十六进制格式。如果在项目中遇到MD5加密结果不一致的问题,可以观察两个加密结果的长度是否相同,比如一个结果是16位,而另一个结果是32位,这种情况就可以考虑更换输出格式来解决。

②基础使用:echo md5('hello')

科学计数法(0e绕过):MD5遇到公式,会先运算,再对运算结果计算MD5。由于0和任何数相乘都等于0,所以0e开头的任何数,其MD5值都是相同的。补充:0e是科学计数法,大小写等价。aeb=a*10^b。

绕过思路1:遇到弱比较(md5(a)==md5(b))时,可以使用0e绕过。

var_dump(md5(0e123) === md5(0e456)); var_dump(md5(0e123) == md5(0e456));

绕过思路2:遇到弱比较(md5(a)==0),可以传入QNKCDZO等绕过。

echo md5('QNKCDZO').PHP_EOL; var_dump(md5('QNKCDZO') == 0);

一些MD5值为0e开头的字符串:

QNKCDZO => 0e830400451993494058024219903391 240610708 => 0e462097431906509019562988736854 s878926199a => 0e545993274517709034328855841020 s155964671a => 0e342768416822451524974117254469 s214587387a => 0e848240448830537924465865611904 s214587387a => 0e848240448830537924465865611904

③数组类型(数组绕过)

md5()不能处理数组,数组都返回null,同时会报一个warning,不影响执行。

绕过思路:遇到强比较(a===b)时,可以使用数组绕过。GET传参时,以a[]=1&b[]=2这种形式传递数组。

$a = array(1,2,3); $b = array(4,5,6); var_dump(md5($a)===md5($b));

④算数运算配合自动类型转换

md5()遇到运算符,会先运算,再计算结果的md5值。

当字符串与数字类型运算时,会将字符串转换为数字类型,再参与运算,最后计算运算结果的MD5值。

⑤数值类型

虽然md5()要求传入字符串,但传入整数或小数也不会报错;数字相同时,数值型和字符串的结果是相同的。

解题过程:

输入什么都不管用,网页源代码也没啥,bp抓包,发送到repeat,得到:

发现数据在写入数据库之前,使用了md5加密,我们在输入框中提交ffifdyop,会出现:

而在mysql中,在用作布尔型判断时,以数字开头的字符串会被当成整型,不过由于是字符串,因此后面必须有单引号括起来的,比如:'xxx'or'6xxxx',就相当于'xxx'or 6,就相当于'xxx'or true,所以返回值是true。

所以,查询语句会变成:

Select * from xxx where user='admin' and password=' 'or'6xxxxx'

也就是password=' 'or true=true

进入页面后,打开网页源码可看到注释信息,这里是一个弱比较:

$a = $GET['a']; 
$b = $_GET['b']; 
if($a != $b && md5($a) == md5($b)){ 
// wow, glzjin wants a girl friend.

使用数组绕过或科学计数法绕过都可以(GET方式传递):

数组绕过:a[]=1 &b[]=2

或者科学计数法绕过 a=0e111 &b=0e333

上传后发现包含flag.php文件。

发现有强比较===,用bp以POST方式传输param1和param2两个参数。

使用数组绕过:param1[]=1 &param2[]=2

bp使用post方式还要加Content-Type:application/x-www-form-urlencoded

直接得到flag。

或者使用检查中的hackbar

http://www.dtcms.com/wzjs/68230.html

相关文章:

  • 一个网站源代码概多大注册网址
  • 有了页游源代码如何做网站百度入驻
  • 做软件下载网站怎么赚钱百度百科优化
  • 五合一网站建设seo推广绩效考核指标是什么
  • 专业网站维护深圳优化网站
  • 建筑公司网站功能表百度网址浏览大全
  • 美工招聘信息seo搜狗排名点击
  • 宁波网站建设信息怎么样把自己的产品网上推广
  • 网站登录验证码是怎么做的搜索引擎seo关键词优化方法
  • 绵阳建设局网站皱劲松百度的总部在哪里
  • 旅游电子商务网站建设调查问卷上海最新政策
  • 网站建设优化服务价位如何制作一个自己的网页
  • 中文logo设计网站网站推广服务报价表
  • 廊坊专门做网站百度免费安装
  • 郑州网站建设公司价格朋友圈推广怎么收费
  • 网站建设合同 含维护费北京seo外包平台
  • 哪些网站做批发的成人速成班有哪些专业
  • 2018做分享网站sem论坛
  • 重庆网站优化排名谷歌seo排名优化服务
  • 安徽公路建设行业协会网站宁波企业seo服务
  • 做线上网站需要钱吗品牌推广思路
  • 注册网站流程免费网站推广网站在线
  • 免费 网站 空间下拉关键词排名
  • 互联网定制产品网站职业培训热门行业
  • 南京英文网站建设网站seo优化工具
  • 个人网站名可以和别人一样吗浏览器正能量网站免费
  • 镇江网站建设dmooo十大it教育培训机构排名
  • wordpress怎么学网络推广的优化服务
  • 长春一般建一个网站需要多少钱域名注册查询官网
  • 爱奇艺影业公司网站开发意义每日新闻