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

开个网站做代理赚钱吗免费网站在线观看人数在哪直播

开个网站做代理赚钱吗,免费网站在线观看人数在哪直播,番禺做网站要多少钱,大连建设工程规划公示牌全程看别人解题过程,没思路,多刷应该能练吧 知识: 1.MD5(Message-Digest Algorithm 5)是一种广泛使用的密码哈希函数,它可以将任意长度的输入(如字符串、文件)转换成一个固定长度&…

全程看别人解题过程,没思路,多刷应该能练吧

知识:

1.MD5(Message-Digest Algorithm 5)是一种广泛使用的密码哈希函数,它可以将任意长度的输入(如字符串、文件)转换成一个固定长度(128位,即32个十六进制字符)的哈希值。

  • 不可逆
    无法从哈希值反向计算出原始数据(理论上只能暴力破解或查彩虹表)。

  • 易碰撞
    不同输入可能产生相同 MD5 值(已被证明不安全,不推荐用于密码存储)。

在 PHP 中,md5() 函数的第二个参数 raw_output 可以改变返回格式:

  • md5($pass, false)(默认)
    返回 32 位十六进制字符串(如 "5d41402abc4b2a76b9719d911017c592")。

  • md5($pass, true)
    返回 16 字节原始二进制数据(可能包含可打印和非打印字符)。

2.PHP 的弱类型比较== 或 !=)在判断值时不会检查类型是否相同,而是会尝试类型转换后再比较,这可能导致一些非预期的行为,甚至引发安全漏洞(如认证绕过、密码校验绕过等)。


PHP 弱类型比较(==)的规则

比较示例结果原因
"123" == 123true字符串 "123" 被转为数字 123
"abc" == 0true非数字字符串 "abc" 转数字为 0
"0e123" == "0e456"true科学计数法 0e123 和 0e456 都等于 0,0的多少次方还是0
"0" == falsetrue字符串 "0" 被转为布尔值 false
"1" == truetrue字符串 "1" 被转为布尔值 true
"0x123" == 291true十六进制 0x123 被转为十进制 291
"123cb" == 123true
字符串从左截取数字部分

先f12打开开发者工具,再网络中查看请求头发现:

hint:select * from ‘admin’ where password=md5($pass,true)

在 CTF 题目中,hint 通常是一个提示,用于引导解题者找到正确的攻击方式或 flag。

这里面password就是我们用户框中输入得东西。如果通过md5之后返回字符串是'or 1的话,形成一个永真条件

当'or'后面的值为True时,即可构成万能密码实现SQL注入,这里我们需要知道的是MySQL的一个特性:

在mysql里面,在用作布尔型判断时,以1开头的字符串会被当做整型数。

要注意的是这种情况是必须要有单引号括起来的,比如password=‘xxx’ or ‘1xxxxxxxxx’,那么就相当于password=‘xxx’ or 1 ,也就相当于password=‘xxx’ or true,所以返回值就是true。

不只是1开头,只要是数字开头都是可以的。
当然如果只有数字的话,就不需要单引号,比如password=‘xxx’ or 1,那么返回值也是true。(xxx指代任意字符)

我们可以通过这个脚本来获得满足我们要求的明文:

<?php 
for ($i = 0;;) {                // 无限循环,$i 从 0 开始递增for ($c = 0; $c < 1000000; $c++, $i++) {  // 每轮循环 100 万次if (stripos(md5($i, true), '\'or\'') !== false) {  // 检查 MD5 是否包含 'or'echo "\nmd5($i) = " . md5($i, true) . "\n";    // 输出符合条件的 $i 和 MD5}}echo ".";  // 每 100 万次循环打印一个点(进度提示)
}
?>
<--stripos(md5($i, true), '\'or\'')
检查 md5($i, true) 的二进制数据中是否包含 'or' 这个字符串。
如果找到,说明 $i 的 MD5 哈希可以用于 SQL 注入(如 ' OR '1'='1)-->

也可以使用常用ffifdyop 这个字符串, md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c,这个字符串前几位刚好是 ' or '6
而 Mysql 刚好又会把 hex 转成 ascii 解释,因此拼接之后的形式是 select * from 'admin' where password='' or '6xxxxx',等价于 or 一个永真式,因此相当于万能密码,可以绕过md5()函数。

输入ffifdyop后,到另一个php页面,查看源代码

 

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

PHP的弱类型比较

寻找两个明文不同但md5值为"0exxxxx"的字符串(比如QNKCDZO和s214587387a)哈希以 0e 开头(科学计数法,比较时会被当作 0

或者

payload:a[]&b[]=2=1

(数组都会返回空字符串

md5(array(1)) = "d41d8cd98f00b204e9800998ecf8427e"(空字符串的 MD5)
md5(array(2)) = "d41d8cd98f00b204e9800998ecf8427e"(相同))

之后会进入另一个php页面

和刚才一样只不过是post方式,还有强等于===

可以用数组

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

相关文章:

  • 如何先做网站再绑定域名网络整合营销是什么意思
  • 网站自建网址查询站长工具
  • win7怎么做网站衡阳seo外包
  • 文档下载免费网站佛山竞价账户托管
  • 正能量网站免费进入无需下载100个经典创意营销方案
  • 初中生电脑作业做网站怎么网络推广
  • 龙华网站(建设龙华信科)新闻源
  • 找国外人做网站seo检测
  • 做网站需要电脑吗网站推广和优化系统
  • 南昌做网站建设公司百度的特点和优势
  • 做网站服务武汉网站开发公司seo
  • 做排行榜的网站站外seo推广
  • 太极馆如何做网站seo工具包
  • 我爱做妈妈网站图片优化是什么意思
  • 万江仿做网站适合40岁女人的培训班
  • 广西玉林网站建设正规公司视频剪辑培训机构
  • [网络收集]form表单及网站开发中常用js表单取值方法代运营公司靠谱吗
  • 昆明学网站建设网站seo视频狼雨seo教程
  • 西部数码网站备案螺蛳粉营销策划方案
  • 长沙推广公司seo关键词排名公司
  • 撕指甲 jetpack.wordpress.com应用关键词优化
  • 企业展厅设计公司100%正品保障百度seo优化服务项目
  • 外贸商城网站 定制优化的意思
  • 扬中网站建设价格cdq百度指数
  • 邹平网站定制哪家公司建设网站好
  • 南昌网站页面优化seo网站推广专员招聘
  • 重庆有名的网站建设网站链接分析工具
  • 专业网站建设搭建百度竞价推广点击软件奔奔
  • wordpress免费的音乐插件seo站长工具推广平台
  • 建筑网格布搭接seo收费低