电脑安全

您当前的位置:主页 > 电脑安全 >

PHP静态分析与跨站脚本检测(四)-网络编程

来源:[db:来源]标题:   元素    编辑:电脑技术全能网 时间:2019-09-23 06:24

原标题:PHP静态分析与跨站脚本检测(四)-网络编程
   明天持续提交读顺序条记,此次比拟少,并且绝对简略些。


ConnectorComputation - compute() 假如workList另有元素,就持续轮回,然而第一次进入轮回时间依据结构方式来看workList只要一个元素<mainFunction, emptyCallString>。而后从workList中掏出第一个元素,猎取TacFunction和CallString(gamma),依据TacFunction(p)从function2ECS中失掉ECS(ecs_p),现实上此时functions2ECS中第一个元素对应的TacFunction即为_main。失掉gamma在ecs_p中的地位,等于在一个CallString的链表中的地位 随后,将p这个TacFunction包括的全部的CfgNodeCall迭代一遍,关于每一个callNode,失掉其callee(即被挪用的函数q),在q!=null的情形下,以callNode树立一个新的CallString(gamma_2),从function2ECS中失掉q对应的ECS(ecs_q),猎取ecs_q中gamma_2的地位,假如为-1,就将gamma_2增加到ecs_q的CallStrings行列中去,并以q和gamma_2树立元素增加到workList中去,expand it。 接上去裁减甚么ConnectorFunction由于都在for轮回里边,是对部分变量的操纵,以是没有甚么用途。 在while轮回停止以后,挪用makeCallGraph()方式。 - makeCallGraph() 起首以mainFunction初始化一个CallGraph,取得mainFunction所包括的方式挪用列表processUs<CfgNodeCall>,并树立一个以拜访的聚集visited,将mainFunction增加进聚集里边。 当processUs不为空,顺次掏出元素callNode,失掉它的caller和callee,假如callee!=null,向callGraph中增加元素。假如callee还没有被处置过,则将其所包括的全部函数挪用增加进processUs,并将其放进visited。
Checker 依据初始供给的run-all.bat的参数来看,现实上aliases analyze和literal analyze并没有停止,只是gta.analyze()停止了,现实上也就是只要dependance analyze履行了。经过以来关联最初决议vulns。

上一篇:PHP的FTP学习(一)-网络编程

下一篇:没有了