RIPS源码精读(一):逻辑流程及lib文件夹大致阐明

访客5年前关于黑客接单1174

很早就有深入剖析学习一款源代码审计东西的主意,在查找rips源码剖析相关材料时,发现相关的学习剖析材料较少,所以挑选rips作为该系列文章的剖析方针,由于没有最新版的rips的源码,因而选取的rips源码为已揭露的版别。由于我是之一次将详细的剖析写下来,而且自身的技能才能问题,在某些场景下的用语或许技能细节描述或许存在误差,请师傅们包容。
导言
RIPS是一个源代码剖析东西,它运用了静态剖析技能,可以自动化地发掘PHP源代码潜在的安全缝隙
本篇内容
作为本系列文章的开端,只介绍rips的逻辑流程以及lib文件夹下各文件大致内容剖析,不详细剖析代码审计的细节,相关细节在之后的文章中剖析
全体结构
RIPS东西的全体架构如下:
+-- CHANGELOG [file]
+-- config [dir]
|   +-- general.php
|   +-- help.php
|   +-- info.php
|   +-- securing.php
|   +-- sinks.php
|   +-- sources.php
|   +-- tokens.php
+-- css [dir]
|   +-- ayti.css
|   +-- barf.css
|   +-- code-dark.css
|   +-- espresso.css
|   +-- notepad++.css
|   +-- phps.css
|   +-- print.css
|   +-- rips.css
|   +-- rips.png
|   +-- scanning.gif
|   +-- term.css
|   +-- twlight.css
+-- index.php [file]
+-- js [dir]
|   +-- exploit.js
|   +-- hotpatch.js
|   +-- netron.js
|   +-- script.js
+-- lib [dir]
|   +-- *** yzer.php
|   +-- constructer.php
|   +-- filer.php
|   +-- printer.php
|   +-- scanner.php
|   +-- searcher.php
|   +-- tokenizer.php
+-- LICENSE [file]
+-- main.php [file]
+-- README.md [file]
+-- windows [dir]
|   +-- code.php
|   +-- exploit.php
|   +-- function.php
|   +-- help.php
|   +-- hotpatch.php
|   +-- leakscan.php
config目录:放置各种装备信息
css目录:放置css款式文件
js目录:放置js代码文件
lib目录:rips的中心代码文件
window:rips的前端构成
lib文件夹阐明
lib文件夹寄存rips运转的中心文件,界说了很多函数以及类用以完结rips完好的代码剖析功用
*** yzer.php
仅界说了Analyzer类,并在类中界说了三个函数,别离是get_tokens_value,get_var_value,getBraceEnd,Analyzer类首要用以依据token信息剖析文件信息
constructer.php
本文件界说了五个类,别离为VarDeclare、VulnBlock、VulnTreeNode、InfoTreeNode、FunctionDeclare,别离用以存储变量、缝隙总干、每个缝隙详细信息、存储信息、存储函数
filer.php
仅界说了函数read_recursiv,用以遍历文件夹下的文件信息
printer.php
界说很多函数,根本都是用于将剖析得到的成果输出至前端页面
scanner.php
仅界说了scanner类,类中包含很多办法,本文件为rips剖析操作的中心文件,包含token处理、字段处理等功用
searcher.php
仅界说了searchFile函数,首要用于依据token信息剖析缝隙状况,并运用VulnTreeNode类加以实例化
tokenizer.php
仅界说了Tokenizer类,类中界说很多函数,其他文件中所用到的token信息均来历于此文件
index.php 剖析
index.php是rips项意图进口文件,因而我放在了之一个剖析。
代码构成首要是前端文件,功用方面首要将方针途径、扫描类型等参数发送至剖析模块。
在index.php的112行邻近,触发点击事情,进入main.php
main.php剖析
main.php是整个rips代码剖析的开端部分
装备文件引进:
    include('config/general.php');          // 首要为各种参数的初始设置
    include('config/sources.php');          // 或许从外部引进数据的函数或全局变量,如$_GET、file_get_contents()
    include('config/tokens.php');           // 将代码分割成许多个token,以便于词法剖析
    include('config/securing.php');         // 依据函数的意图运用以及作用不同区分,如 htmlspecialchars 划入数组变量 $F_SECURING_XSS
    include('config/sinks.php');            // 灵敏函数汇总,依据函数对应的功用不同进行更进一步的区分
    include('config/info.php');             // 对各种函数名增加对应注释,如sqlite_open()=>'using DBMS SQLite'
中心代码引进:
include('lib/constructer.php');         // 类信息
    include('lib/filer.php');               // 仅界说了一个函数,用以获取指定途径下一切文件
    include('lib/tokenizer.php');           // prepare and fix token list
    include('lib/ *** yzer.php');            // string *** yzers
    include('lib/scanner.php');             // provides class for scan

[1] [2] [3] [4] [5]  黑客接单网

相关文章

中国黑客团队接单_找黑客如何查询别人的微信聊天记录

· 全球最大的虚拟钱银数字财物买卖所服务渠道官方Binance遭受垂钓进犯,很多使用过API量化买卖的用户发现自己在Binance的数字钱银账户被盗,账户持有的钱银未经赞同就被主动出售,出售取得的比特...

黑客qq,怎样找黑客合作,公司招黑客怎么找

好,下一关Network Distance: 2 hopsvar formData = new FormData();set function网关(TPLink路由器):192.168.1.1 以此类...

手机解压缩,怎么找qq黑客免费盗号软件,能找黑客帮忙盗个QQ号

代码剖析Proxy——是一个阻拦HTTP/S的署理服务器,作为一个在阅读器和方针运用程序之间的中间人,答应你阻拦,检查,修改在两个方向上的原始数据流。 对应代码从缝隙剖析和运用的进程来看,大疆在规划无...

黑客业务接单是骗子吗,找一部动漫里面有一个黑客妹子,真心找黑客帮助要红包

+ 7ms: Channel 09,import java.util.regex.Matcher;“过错装备”的影响真的取决于运用自身!在运用中找到一个包括灵敏信息的页面,比方一个web运用中答运用户...

怎么绕过Duo的双要素身份验证

写在前面的话 一般,在履行浸透测验时,一般经过远程桌面协议(RDP)连接到体系。我一般运用rdesktop或xfreerdp连接到主机,一旦取得凭证就能够随心所欲了。我最近碰到一件很操蛋的事便是一个我...