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

ctfshow_web11

ctf.show_web11

简单的代码审计,这段代码定义了一个名为replaceSpecialChar的函数,该函数接受一个字符串$strParam作为参数。函数内部使用了正则表达式$regex来匹配SQL语句中的一些关键字,包括selectfromwherejoinsleepand、空格\sunion和逗号,preg_replace($regex,"",$strParam)函数会将匹配到的任何关键字替换为空字符串,从而移除这些关键字。strlen($password)计算原始密码字符串的长度。strlen(replaceSpecialChar($password))计算经过replaceSpecialChar函数处理后的密码字符串的长度。如果处理后的密码字符串长度与原始密码字符串长度不同,说明原始密码中包含了正则表达式匹配的关键字,代码会调用die("sql inject error")终止脚本并输出错误信息“sql inject error”

验证用户输入的密码是否与存储在会话($_SESSION)中的密码匹配。

如果两个密码相等,代码会输出一个变量$flag的内容,这个变量通常用于存储某种标志或成功消息。

如果两个密码不相等,代码会输出“error”,表示密码验证失败。

最后这个password和session中的password对比非常关键,正常来说既要绕过过滤还要保证前后 长度相同还是很难的,但是这里给了一条生路就是你可以抓包然后把session的值改为和你登陆密码一样的值就可以获得flag了

http://www.rkmt.cn/news/7372.html

相关文章:

  • ctfshow_web13
  • ctfshow_web9
  • pom 依赖
  • SMA的射频连接器
  • 什么是Elasticsearch?它与其他搜索引擎相比有什么优势?
  • pdf.js-2.3.0国内下载地址
  • opencv学习记录2
  • Blazor全栈是个陷阱
  • 大型语言模型安全实践:Copilot安全防护经验总结
  • vmware ubuntu共享文件夹
  • 深入解析:【2025年华为秋招(AI)-9月17日-第二题(200分)- 大模型Attention模块开发】(题目+思路+JavaC++Python解析+在线测试)
  • 【10章】n8n+AI工作流:从入门到企业级AI应用实战
  • svg和canvas的区别
  • Android 安卓 困难处理记录 腾讯IM和厂商离线推送难题 点击离线推送无法唤醒APP启动页但某些Service服务和Application被启动
  • redis-string类型常用命令
  • apache doris 和 clickhouse的区别
  • KEITHLEY 数字万用表 能测试电阻吗
  • 代码规范与《数学之美》
  • 响应式问题
  • Python 函数缓存
  • Rhino 8.10 中文版下载安装步骤(附详细图文说明)
  • 深入解析:第十四届蓝桥杯青少组C++选拔赛[2022.12.18]第二部分编程题(2、字符翻转)
  • 企业级负载均衡方案:Nginx vs HAProxy - 从0到1的完整实战指南 转载
  • 程序设计小学期小计
  • 企业级实时消息推送系统的架构设计,一文即懂!
  • 3dma渲染噪点成因排查及优化方案 - 详解
  • 高级版Duplicate Same Files Searcher v10.7.0:秒扫全盘重复档神器 - 教程
  • vxe-tree-select 树形下拉框当使用懒加载数据时如何回显
  • 实用指南:基于RSim的域控制器HIL测试系统设计方案
  • 完整教程:新手怎么利用Qt连接汇川Easy系列的小型PLC