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

上那个网站做测试用例500强企业seo服务商

上那个网站做测试用例,500强企业seo服务商,辽宁工程建设工程信息网站,全球最好的云服务器目录 代码审计-学前须知 Bluecms-CNVD-1Day-常规注入审计分析 emlog-CNVD-1Day-常规注入审计分析 emlog-CNVD-1Day-2次注入审计分析 知识点: 1、PHP审计-原生态开发-SQL注入&语句监控 2、PHP审计-原生态开发-SQL注入&正则搜索 3、PHP审计-原生态开发-SQ…

目录

代码审计-学前须知

Bluecms-CNVD-1Day-常规注入审计分析

emlog-CNVD-1Day-常规注入审计分析

emlog-CNVD-1Day-2次注入审计分析


知识点:

1、PHP审计-原生态开发-SQL注入&语句监控

2、PHP审计-原生态开发-SQL注入&正则搜索

3、PHP审计-原生态开发-SQL注入&功能追踪

原生态开发的项目一般不安全,经常会爆出常见的漏洞,如:SQL注入,文件上传等

代码审计-学前须知

挖 0day 需要技术积淀+运气,但挖 1Day 则是单纯的学技术。

  1. 代码审计必备知识点:环境搭建使用,工具插件安装使用,掌握各种漏洞原理及利用,代码开发类知识点。
  2. 代码审计开始前准备:审计目标的程序名,版本,当前环境(系统,中间件,脚本语言等信息),各种插件等。
  3. 代码审计挖掘漏洞根本:可控变量及特定函数,不存在过滤或过滤不严谨存在绕过导致的安全漏洞。
  4. 代码审计教学计划:审计项目漏洞原理->审计思路->完整源码->应用框架->验证并利用漏洞。
  5. 代码审计教学内容:PHP,Java,NET,JS,Python等网站应用,引入框架类源码,相关审计工具插件使用。

审计思路

审计出发点

1、正则搜索函数名或者敏感词

2、通过网站功能点确定访问文件,审计功能点的代码

挖掘技巧

  1. 语句监控-数据库SQL监控排查可利用语句定向分析
  2. 功能追踪-功能点文件SQL执行代码函数调用链追踪
  3. 正则搜索-(update|select|insert|delete|).*?where.*=

如何快速的在多个文件代码里面找脆弱点

  1. 看文件路径
  2. 看代码里面的变量(可控)
  3. 看变量前后的过滤
     

Bluecms-CNVD-1Day-常规注入审计分析

审计流程:(update|select|insert|delete|).*?where.*=\

正则-ad_js.php->getone()->无过滤->有输出payload注入

Poc:

ad_js.php?ad_id=1 union select 1,2,3,4,5,6,database()

搭建参考:https://wiki.bafangwy.com/doc/379/

项目环境搭建,PHPStudy 搭建,使用 Apache + MySQL 搭建环境

PHPStorm 打开项目源代码,使用正则表达式搜索代码

(update|select|insert|delete|).*?where.*=

这个正则表达式可以匹配包含特定数据库操作和where子句的字符串。具体解释如下:

  • (update|select|insert|delete|):这是一个捕获组,使用|表示“或”的关系。它匹配update、select、insert、delete中的任何一个词。这个捕获组是用来匹配数据库操作的关键字。
  • .*?:这部分使用了非贪婪模式(由?指定),匹配任意数量的任意字符(由.指定),但尽可能少地匹配字符。这意味着正则表达式会寻找最短的满足整个表达式的匹配。
  • where:这部分直接匹配字符串"where"。
  • .*=:这部分匹配任意数量的任意字符(由.指定),直到遇到等号=。这意味着它会匹配where之后的任何内容,直到出现一个等号。

综合以上部分,这个正则表达式可以匹配以update、select、insert、delete之一开始,之后是任意字符(但尽量少),接着是where关键字,最后是任意字符直到等号的字符串。这种模式经常用于匹配包含特定数据库操作和where子句的语句,例如SQL查询语句中的条件部分。

在正则表达式中,.*是一个常见的模式,表示匹配任意数量的任意字符(除了换行符)。具体解释如下:

  • .表示匹配任意一个字符(除了换行符)。
  • *表示匹配前面的元素零次或多次,也就是指定前面的元素可以出现任意次数(包括零次)。

因此,.*表示匹配任意长度的任意字符序列,包括空序列。它是一个非常灵活的模式,可以用来匹配任意文本内容。在正则表达式中,.*通常用于表示不关心具体字符内容的部分,只关心匹配的长度和位置。

需要注意的是,.*使用贪婪模式,即它会尽可能多地匹配字符。如果需要非贪婪匹配,可以使用.*?来指定非贪婪模式,尽可能少地匹配字符。

正则的结果:

脆弱性验证

思路:快速找到最脆弱的位置

  1. 看文件路径
  2. 看代码里面的变量(可控)
  3. 看变量前后的过滤

1、结合代码所在文件夹/文件名判断

要知道常见的目录的作用,通过代码所在的目录大致会知道代码所扮演的角色。一段SQL语句在HTML里怎么可能会有漏洞。

代码所在文件是在后台的界面里

2、要有基本的开发知识辅助判断

.intval() 转为数字类型,就不会产生漏洞

3、看变量(用户可控的)是否有过滤

这里有对变量进行绕过

但也可以尝试绕过

找到脆弱点进行分析

红框部分是:(1):验证是否有值   (2):过滤空格

getone() 函数应该是开发者自定义,看看它的实现,声明。

声明:函数的定义的定法,函数的逻辑;实现:函数在哪里被使用

可能函数的实现位置有多个,可以结合包含的文件进行判断

getone()函数逻辑:

  1. 调用query()函数,应该是开发者自定义的
  2. 接下来是原生的代码

进入到query()函数进行分析

可以看到没有过滤,可以判断存在SQL注入漏洞

还要再看看有没有数据输出:没有输出的话,就只能盲注了

开始测试漏洞

可以输出SQL语句辅助分析

构造Payload

emlog-CNVD-1Day-常规注入审计分析

https://www.cnvd.org.cn/flaw/show/CNVD-2018-26200

审计流程:

comment.php->delCommentByIp($ip)->无过滤->构造触发

Poc:

/admin/comment.php?action=delbyip&ip=127.0.0.1%27and(extractvalue(1,concat(0x7e,(select%20user()),0x7e)))%20--+&token=11f3f9cb7e78e3f88e39ea5678939b7d

环境搭建

初步判断漏洞在这个文件里

未对参数 ip 进行过滤

首先对cookie进行验证

然后会通过Cookie里的值验证是否是 admin 用户

通过 Get 方式接收参数 ip 值

然后查询数据并删除数据,最后重定向网页

总的来说,就是 admin 用户后台存在SQL注入漏洞,没有回显,需要盲注

构造payload并测试

网页重定向

盲注

emlog-CNVD-1Day-2次注入审计分析

https://www.cnvd.org.cn/flaw/show/CNVD-2023-65138

审计流程:

数据库监控->user.php无可控->nickname->添加不可控->data.php可控->导出修改导入->触发二次注入

/admin/data.php

导入文件时执行SQL文件中语句,带入Payload

INSERT INTO emlog_user VALUES('110','','$P$BnTaZnToynOoAVP6T/MiTsZc9ZAQNg.',(select version()),'writer','n','','123@qq.com ' , '','','0','1687261845','1687261845');

/admin/user.php

select查询nickname条件数据,访问触发二次注入

搭建环境

数据库监控,文件放到网站的根目录

访问地址

输入数据库账号密码并连接

这个工具的意义在于可以监控数据库执行的SQL语句,从中分析SQL注入漏洞

通过CNVD的漏洞提示,登录 admin 账户,SQL注入漏洞是在后台中

访问对应的话后天页面,对比数据库执行监控

使用正则表达式在项目中搜索

经验:一般情况下,"emlog_" 往往是拼接的方式,需要重新构造正则表达式

通过数据库监控的可能存在漏洞SQL语句,匹配到

这个SQL语句中,user 是登录的账号,带入数据进行查询。思路:二次注入,如果可以把SQL语句写入到 user 中,那么就可以SQL注入漏洞执行

对这个函数转到->声明或实例

定位有漏洞的文件 

filter_var 是过滤器,可能用来过滤一些脏字等

调用 getUser() 函数时,参数 condition 不可控,其值是 and nickname like '%%' 是一个空的模式字符串,表示匹配任意长度的任意字符序列。会匹配所有的用户名,即登录的账号

调用 getUserNum() 函数时,参数 condition 不可控

思路:二次注入,如果可以把SQL语句写入到 user 中,那么就可以SQL注入漏洞执行

注意到

导入备份,执行SQL语句,建立一个新的用户,用户名是SQL语句

再次查询

备份的数据,SQL文件会被数据执行写入,在访问用户管理界面就会被显示出来。恶意的SQL语句被执行写入到数据库,再被查出来。

另外:报错,时间盲注都不行,因为备份操作时没有数据包回显的,无法判断。

而且直接创建用户也是不可以的,因为直接创建的用户名是随机的。

http://www.yidumall.com/news/55009.html

相关文章:

  • 河北建设厅网站怎么搜索文件引流软件有哪些
  • 合肥专业做网站公司哪家好怎么建立一个属于自己的网站
  • 外贸企业做网站购物链接
  • 哔哩哔哩网站电子商务建设外汇seo公司
  • 聊城网站百度推广百度一下网页首页
  • 域名空间网站百度推广售后服务电话
  • 网站对比怎样在百度上做广告推广
  • wordpress 分页url优化神马网站关键词排名价格
  • 海珠做网站公司推广普通话宣传周活动方案
  • 公司网站公司新闻深圳网站设计制作
  • 网站开发培训光山新网seo关键词优化教程
  • 学校网站建设与维护方案站点查询
  • 网站点击量作用seo外包方法
  • 网站搭建响应式厦门谷歌seo公司
  • 做网站需要会什么软件自己可以做网站推广吗
  • 成都专业网站建设公司排名最新新闻实时新闻
  • 武汉网站建设公司 排名引流推广接单
  • 微信网站建设电话销售网站怎么做
  • 短网址生成微信防屏蔽太原百度推广排名优化
  • 重庆网站制作设计网站排名top排行榜
  • 导航页面wordpress代码上海seo顾问
  • 做网站的合作案例icp备案查询
  • 下列哪一项不属于电子商务网站建设如何快速推广网站
  • html5网站建设微信运营公司织梦模板网站的seo方案
  • 网站建设费怎么做分录网站构建的基本流程
  • 米思米网站订单取消怎么做百度竞价关键词优化
  • 社科联网站建设方案策划书好网站
  • 个人备案可以做门户网站吗企业宣传软文范例
  • 新闻网站建设方案网络推广外包业务怎么样
  • 软文营销的步骤专业的seo搜索引擎优化培训