送设?/span> 保质?/span> 高品?/span>
当前位置:主页 > 建站 >

记一次开源工具某模块的基础二次开发

文章出处:未知 发表时间:2020-11-02

近来看到一些关于东西的文章,许多人关于写东西类文章都是走马观花,写建立,写根底运用,可是根底的开源东西在出产环境上的运用其实是比较困难的,有许多需求二次开发做到与出产环境适配,今日写这篇文章的意图就在于敞开开源东西二次开发的思路,其间一个模块的二次开发很简略,我们底子都能看懂,就以这篇简略易懂的代码改动举例。本次开源东西二次开发以cobra代码审计为例。


适用范围:代码初学者、有必定python根底与协议根底

首要要先清晰自己的需求,我们的需求是在上线前做关联性代码审计,我选用的是cobra,至于为什么要运用cobra就不多说了,这是评价期间做的工作,文章主要写二次开发。

我们的出产环境运用gitlab作为代码库,仅答应ssh方法下拉代码,而不答应http揭露拉代码,这么做是为了安全,可是相同的也对cobra的运用造成了必定的费事。由于根底的cobra是没有ssh下拉功用的,需求我们自己做二次开发

首要在原根底的cobra上我们做一个拉代码的测验

如同很叼的姿态,没有缝隙,可是有层script提示没有挑选方针

后台定位问题发现如下过错

一般呈现这个问题不是分支过错就是途径过错,反正是找不到文件的,那直接用git clone试试原途径是否存在吧

500,询问了gitlab担任人才知道是底子没有敞开http下拉代码的功用,一致运用ssh进行下拉。

那原根底的cobra能直接用ssh拉代码吗?试试看好了

提示请输入URL,也就是输入格局不对,那我们换一种方法输入

仍是相同的提示,那看看后端是什么状况吧

一切正常。

首要对问题进行定位

指令为find ./ -name “*.py”|xargs grep “Please input a valid URL”

指令意思为在本级目录级下级目录查找内容为Please input a valid URL的py脚本

找到了api.py,让我们进去看看这是什么

公然只限制了http与https,那根据我们的需求加上ssh吧

原代码:

 if re.match:
 arg = 
 producer
 else:
 return { code : 1004, msg : Please input a valid URL }
 result = {
 'msg': 'Add scan job successfully.',
 'sid': a_sid,
 'total_target_num': len,
 else:
 if re.match:
 arg = 
 producer
 else:
 return { code : 1004, msg : Please input a valid URL }

改动后代码:

 if re.match:
 arg = 
 producer
 else:
 return { code : 1004, msg : Please input a valid URL }
 result = {
 'msg': 'Add scan job successfully.',
 'sid': a_sid,
 'total_target_num': len,
 else:
 if re.match:
 arg = 
 producer
 else:
 return { code : 1004, msg : Please input a valid URL }

从头试一下吧

后台提示需求输入root暗码

我的环境是做了git@code.xxx的免密推送,root用户暗码我不知道啊,就算有权限莫非把暗码写在配置文件里又安全吗?明文暗码走漏的工作可是发作不少,所以持续看代码找问题

find ./ -name *.py |xargs grep git clone 

看他的推送方法是什么

配置文件为./cobra/pickup.py

假如配置文件中没有输入用户名或暗码,就是揭露链接,直接clone,假如有用户名暗码,则切割填入用户名和暗码进行加密clone,假如这放在http协议中这个逻辑彻底没有问题,可是放在ssh下拉代码里,就会存在很大的逻辑问题了

逻辑问题在于ssh的免密钥登录不需求暗码,假如单纯以用户名暗码作为判别根据那免密钥的效果就为零了,为了适配免密钥,实际上在代码中指定免密钥的用户即可,一起为确保其他根底功用不遭受损坏,添加的功用应运用判别前缀的方法进行代码改写,详细如下:

原代码:

 if self.repo_username is None or self.repo_password is None:
 
        

推荐产品

同类文章排行

最新资讯文章

友情链接