xiaodisec day016

简介: Day16 概要:讨论了前端JS验证和PHP验证的区别,JS验证易被浏览器禁用,而PHP验证是黑盒。重点讲解了AJAX登录状态回显,通过抓包响应判断登录成功。购物案例分析了四种价格处理方式,强调前端价格可被篡改,后端应严格校验数量或直接获取数据库价格以确保安全。

day16

今日内容

js 前端验证
ajax 登录 状态码
ajax 传递 购物 参数

使用 js 来验证上传的文件后缀
也可使用 php 验证
两种验证方式存在区别
php 验证为黑盒测试
js 验证为白盒测试

js 验证

浏览器的检查直接看到 js 内容,可观察验证方式
js 验证可使用浏览器略过验证
在火狐中 关键字: javascript.enable
不执行 js 即可实现绕过

如何判断是 js 验证

  • 浏览器 检查
  • 运行时间,若时间短,则可推测在 js 验证

状态回显 登录

ajax 传输数据的方式

前端 js 通过 post 向后端 php 发送请求,后端接收 php 参数,
连接数据库查找用户名和密码
输入正确新增字段验证位为 1,否则为 0
前端获得从后端响应来的 result,使用验证位判断是否登录成功,然后展示

思路:抓包

do intercept -> response to this request

1705590543316

为了防止 ajax 代码暴漏,可以将代码引入,若加载,点击进入

购物案例

价格以前端为准

即可抓包修改数据

数据库中取价格展示,接收前端的数量和价格

购买前,价格是在数据库中的数据,点击购买,将前端的可修改的价格传到后端,后端运算后返回,确实可以抓包改前端,这样后端拿到的数据从一开始就是假的

后端的价格从数据库中查询,只接收数量

前端修改无效,但可抓包改数量

只接收数量

对接收的数量进行过滤

相关文章
|
4月前
|
安全 中间件 应用服务中间件
xiaodisec day032
`#day32` 讲解了文件上传漏洞,重点在绕过过滤策略,如使用`.user.ini`避开点号过滤。讨论了利用解析漏洞,将数字IP转换为字符串。网站的图片裁剪功能被利用来隐藏后门,因JPEG与PNG处理差异,形成二次渲染。手动插入木马困难,推荐脚本自动化。在线靶场演示不稳定,但CTF目标是理解概念而非单纯解题。`.htaccess`涉及Apache解析配置,不适用于Nginx。结合包含漏洞,中间件解析漏洞是关键。若过滤严格,可通过变量赋值拼接木马实现免杀。
|
4月前
|
SQL 开发框架 关系型数据库
xiaodisec day024
本文介绍了SQL注入的相关知识,包括Access和MySQL数据库的注入。漏洞源于特定变量和函数,可通过网址参数或抓包发现。注入语句位置与字段相关。工具流程包括猜测数据库类型,如ASP配Access,然后通过ORDER BY和UNION查询列数。在Access中尝试偏移注入,MySQL中可能涉及文件读写和跨库查询。判断是否为root用户可用`user()`函数,MySQL5.0以上可查information_schema数据库获取详情。示例网址:`https://www.crfbehavioralhealthcare.org/researchDetails.php?id=MS==`。
|
4月前
|
Java 中间件 测试技术
xiaodisec day023
Day23 Python 知识讲解聚焦于`pyc`反编译和`SSTI`(模板注入)。`pyc`是跨平台的编译结果,常在CTF中出现。`SSTI`发生在Web应用,当错误处理不当,允许注入代码执行,404页面可能是切入点。实战中判断SSTI和建站语言(如Python)需观察回显和使用工具如fofa。黑盒测试SSTI颇具挑战。
|
4月前
|
SQL JSON PHP
xiaodisec day027
本文档介绍了SQL注入的不同类型,包括数字型、字符型、搜索型、编码型和加密型,强调了在注入时对数据格式和闭包的考虑。提到了SQLMap工具的进阶使用,如利用tamper目录中的base64encode.py进行编码注入。同时,讨论了宽字符绕过技巧,如利用中文字符来避免PHP的addslash函数对攻击的阻止。
|
4月前
|
开发框架 安全 Java
xiaodisec day031
`#day31` 文件上传漏洞探讨:涉及 CMS 中的文件上传,通常需配合抓包工具。绕过前台验证和 MIME 验证(如变造 `content-type`),利用大小写或.php伪装上传。当.php被过滤时,可试用短标签`<= 'php代码'>`。若过滤括号,则可能无法构造有效payload。文件头过滤常用于防止非正常文件上传,而.user.ini文件能包含后门代码实现命令执行。同时,修改`user-agent`为PHP木马以尝试通过日志记录通道触发。总结:上传漏洞利用策略多变,关键在于识别并绕过安全防护措施。
|
4月前
|
SQL 关系型数据库 MySQL
xiaodisec day025
了解 SQL 注入攻击,关注 MySQL、MSSQL 和 PostgreSQL 的高权限注入。利用 `loadfile` 和 `outfile` 函数在 MySQL 中读写文件,常见目标包括配置文件。获取路径方法包括报错显示、phpinfo 和字典攻击。注意 `secure-file-priv` 配置限制,但在某些环境下可突破。开启慢日志记录,植入后门,通过 PHP 执行。实战中,观察地址和输入框判断注入点,根据报错信息推测数据库类型。若无回显,尝试猜测注入点。
|
4月前
|
JavaScript 安全 前端开发
xiaodisec day22
探索前端安全:JavaScript中的变量与函数暴露可能引发命令执行风险。利用Wappalyzer等工具检测JS使用,寻找如`/static/js/app.js`等线索。Node.js框架安全学习,借助Vulhub漏洞环境(GitHub可得)与Docker进行安全测试。
|
4月前
|
SQL 监控 Java
xiaodisec day028
Day 28探讨了SQL注入,关注点在于提交方式的注入。PHP、Spring Boot和Flask中的GET、POST、COOKIE数据提交都可能引发安全问题。后端处理数据时,如记录IP、根据UA显示页面或文件上传可能导致SQL注入。使用sqlmap工具进行黑盒测试,通过修改数据包或指定POST数据来探测注入点。实战中,CMS系统记录IP访问可能产生注入风险,可以利用工具如Seay代码审计系统进行监控和检查。
|
4月前
|
SQL 缓存 NoSQL
xiaodisec day026
`day26`探讨了Oracle与MongoDB的SQL注入,强调手动注入技巧。尽管`sqlmap`工具不支持NoSQL,它提供了一些选项,如清除缓存(--purge)、查看当前数据库(--current-db)和数据转储(--dump)。通过-r参数可以利用保存在TXT文件中的数据包进行测试,文件内星号(*)标记注入点,例如`username=admin*`。Metasploit Framework(MSF)未详述。
|
4月前
|
SQL 数据库
xiaodisec day029
在Day 29的学习中,聚焦SQL注入的查询方式,特别是盲注技术。当查询结果不直接回显时,需采用不同策略。盲注包括逻辑判断和基于延时、报错的判断。通过逻辑判断,如使用`left()`函数猜测数据库名。基于延时的方法利用`sleep()`函数观察响应时间变化。报错注入依赖服务器错误信息的回显。实际操作中,可利用工具进行检测,因为手动注入在某些场景下效率较低。