论坛首页 安全编程开发区 阅读主题

[分享]学习篇之web安全与基础

68 浏览 0 回复
#1 楼主 2026-06-01 21:09:07
注:该课程可关注vx公众号一起学习:web安全与基础CTF web入门一、php_ctf解题核心关键_php的弱类型特性以及对应的弱比较规则    特性说明:        1、弱类型与强类型        弱类型:可随意转换变量类型        强类型:变量一旦被定义了某个类型,不经强制类型转换,变量类型不变         2、弱比较==与强比较===        弱比较:将字符串类型转换成相同,再比较            ('name'=null=0,'1name'=1,'name1'=0,即纯字符串转换为空,数字字符串转换成前面的数字,字符串数字成识别前面的字符串,转换成空)                                0e123=0*10^123(科学计数法)        强比较:先判断字符串的类型是否相等,再比较    3、科学计数法        考点:只允许输入长度为3的字符串,但要大于1000(输入3e3=3*10^3=3000),若限制为前端限制,修改前端限制为9        4、缺陷函数            核心特性:参数类型的宽松处理机制:当向函数传递非预期类型的参数时,php不会直接抛出类型错误终止运行,而按预设的自动类型转换规则,将参数转换为函数可处理的类型后执行            利用:构造非预期的参数类型,触发函数异常转换逻辑,绕过验证、篡改计算结果(1)md5()、hash()md5()函数获取不到数组的值,将返回NULLhash()函数无法处理数组类型,将返回NULL典型例题:需要传入两个参数,参数不能相同,但md5值必须相同利用方式:传入两个数组,人工分配val1[]=a&val2[] (2)strcmp():用于比较两个字符串是否相等,相等=0,数组比较时会出错返回null=0利用:要求传入flag必须和$flag相同(该参数再flag.php中定义,未知值),传入参数flag[]=,使其比较出错=0 (3)is_numeric():用于检验变量是否为数字或字符串,是=ture,否=false。注:浮点数=ture函数利用:结合php自动类型转换要求传入404可返回flag,使用“404a”==404弱比较绕过函数数字检验二、信息泄露渗透起点,常常成为获取权限、绕过限制、拿到flag的关键跳板。会直接暴露关键路径、账号线索、接口地址甚至源码内容,为后续攻击提供清晰的突破口。 类型:1、html注释开发者用于标注代码逻辑、临时备注的合法语法,仅存于网页源代码中。利用方式:(1)查看网站源代码(2)url前+view-source:(用于网站禁止鼠标右键)(3)bp等抓包工具或curl等非浏览器工具 2、robots.txt
为引导搜索引擎爬虫抓取规则(“哪些目录/文件允许抓取、哪些禁止抓取”)而创建的配置文件,常置于网站根目录下。3、js信息泄露作为前端交互的核心载体。利用:不如以上直观,往往需分析js代码逻辑、查找AJAX请求地址、解析加密函数方可发现,找到可直击核心漏洞点。4、vim信息泄露源于使用vim编译器编写/修改代码时的系统遗留文件,属于开发环境疏忽导致的泄露环境。利用:编辑时会生成~/.swp/.swo/.swn格式的临时交换文件,用于意外退出时恢复文件内容。缓存文件恢复原始文件信息。可延伸出.git/.DS_Store等同类文件泄露解题思路 
利用kali还原文件内容三、变量覆盖代码审计的核心题型,攻击者经可控的输入参数,篡改程序中已定义的变量值——原本应受程序逻辑控制的变量被外部输入强行修改,进而破坏原有的业务逻辑,成为获取敏感信息或控制程序执行的突破口 典型标志:滥用双$$可变变量extract()、parse_str()等函数未做严格过滤的情况下处理用户输入对全局变量、会话变量的无校验赋值利用:覆盖权限校验变量($auth=1)绕过登录/文件路径读取flag文件/代码执行触发而已操作核心:定位可覆盖的变量和可控输入点,构造精准的payload修改关键变量值 $GLOBALS:php超全局数组,用于存储所有全局作用域的变量特殊之处:无论在函数内/外,都能经$GLOBALS['变量名']直接访问/修改全局变量var_dump()用于输出变量的相关信息函数var_dump($GLOBALS)四、请求头规范的通信格式,但其可被攻击者自由构造和篡改的特性,成为重要利用点。1、Cookie/Authorization等请求头篡改身份凭证,获取敏感权限web身份认证的核心。抓包-修改(直接修改/编码修改)-重放常利用Cookie的校验逻辑设计考点:直接篡改Cookie中的权限字段(如将is admin=0改为is admin=1)绕过后台验证;破解 Cookie 的简单加密/编码(如 Base64、MD5)获取真实身份信息;或是利用Cookie的过期时间、Domain/Path属性构造跨域访问漏洞。将flag直接隐藏在自定义Cookie(如flag=ctf{xxx})中,仅需抓包查看即可获取。 2、X-Forwarder-For(XXF)伪造客户端IP,绕过IP白名单本身是用于记录HTTP请求经过的代理服务器IP的请求头,帮助服务器识别真是客户端地址限制仅本地127.0.0.1可访问、仅指定IP段能查看flag。禁止某些IP访问时,攻击者只需在请求头中手动构造X-Forwarded-For:127.0.0.1,即可伪装成内网IP 或合法IP绕过限制。 3、通过修改User-Agent伪装特定浏览器/设备绕过访问限制 4、篡改Referer验证请求来源,突破页面跳转或权限校验 五、响应头1、发现大量敏感信息服务器版本、开发框架类型、后端语言信息可用于版本漏洞检索
Set-Cookie字段会下发身份凭证,是伪造身份、篡改权限的重要依据Location字段可能指向隐藏跳转地址或后台路径将flag、提示信息放在自定义响应头中,仅需查看数据包即可获取。2、一些安全相关的响应头配置缺失或错误CORS跨域头配置不当X-Frame-Options未设置导致点击劫持ps:以上内容如有错误/问题,欢迎各位大佬批评指正!!!

传播安全知识、拓宽行业人脉——看雪讲师团队等你加入!


#文件
#漏洞
#其他

---
来源: 看雪论坛
原文链接: https://bbs.kanxue.com/thread-290624.htm

暂无回复,快来抢沙发吧!

请登录后参与讨论

立即登录 注册账号