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

现在1做啥网站流量大网站域名在哪买

现在1做啥网站流量大,网站域名在哪买,永川网站制作联系电话,网络建设服务目录 代码审计-学前须知 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.mmbaike.com/news/101805.html

相关文章:

  • VPS做镜像网站google关键词搜索量
  • 品网站建设公司金华百度seo
  • 广州的一起做网站怎么样增加百度指数的四种方法
  • 奶茶培训网站建设国内哪个搜索引擎最好用
  • wordpress 做wiki南京seo收费
  • 建设网站要注意事项建立网站用什么软件
  • 企业快速建站免费模板天津外贸seo推广
  • 自己做APP需要网站吗seo搜索推广
  • 巨鹿县住房与城乡建设厅网站中国国家培训网官网
  • 鄂州网站设计公司短视频营销推广方案
  • 免费自己做网站手机软件全国各城市疫情高峰感染进度
  • 三五互联网站建设垃圾seo技术培训茂名
  • jsp网站制作详细教程湖南长沙今日疫情
  • 网上商城网站开发与建立的意义竞价推广代运营
  • 给自己公司做网站运营长沙百度快速排名优化
  • 网站开发工程师的职责app推广赚佣金
  • 广州做动态网站的公司seoul什么意思
  • 网站开发技术总监面试题百度网盘网页版登录首页
  • 经纪人做网站技巧四川企业seo
  • led视频网站建设济南市新闻最新消息
  • 自创字 网站电销精准客户资源
  • 舞蹈培训网站模板还有哪些平台能免费营销产品
  • 做网站带源码软件-dw网络营销特点
  • 网站建设流程步骤为需求分析软文广告案例分析
  • 网站关键词如何优化今日足球赛事分析推荐
  • 网站建设类论文今日头条新闻最新消息
  • 怎样给自己的网站做优化seo价格查询公司
  • 24小时自动发货网站建设济南竞价托管
  • 做新闻的网站怎样赚钱seo研究中心教程
  • 网站封装成app可以做热更新高端品牌网站建设