众说周知,Github这块肥肉很受安全人员和黑客重视。由于许多新进程序猿和内行不经意就会把他们的劳动成果共享出来,而往往这种开源精力,奉献精力会对企业带来必定的安全危险。
例如代码里边包括各种灵敏信息(用户名、暗码、数据库信息、内网IP,乃至程序猿的身高、体重、年纪和婚姻状况。哈哈),所以Github信息走漏监控就不得不亮剑。别的也是小弟地点的企业被第三方找出有灵敏信息走漏,囧,原本计划自己找些开源东西。看了些开源东西,都不太合适,所以就有了这篇自己着手打造Github代码走漏监控东西。
0×01 撸起袖子开干
人生苦短,我用Python!
Python强壮的库、简练言语以及开发敏捷等特色,深受广阔程序开发者喜欢。那么咱们就用Python来开发吧!
原理及过程
咱们知道Github并未敞开查询搜索的API,那么咱们只能经过爬虫来爬取页面,然后经过解析器对回来的内容解析,然后获取到咱们想要的信息。具体过程如下:
1.登陆Github;
2.查询关键词成果出现;
3.邮件预警;
4.配置文件读取。
开发环境及用到的Python库
开发环境为:MacOS10.12.6, Python版别3.6.5
Python库:requests,lxml,csv,tqdm,email, *** tplib,configparser,time
请看官老爷们去了解以上Python库的用法,这儿不再赘述。
0×02 过程解析
1.登陆Github
登陆这儿设置了一个坑,登陆https://github.com/login会跳转到https://github.com/session,然后提交恳求主体。而主体包括了如下参数:
“commit=Sign+in&utf8=%E2%9C%93&authenticity_token=sClUkea9k0GJ%2 *** VRKRYsvLKPGPfLDknMWVSd%2FyWvyGAR9Zz09bipesvXUo8ND2870Q2FEVsQWFKScyqtV0w1PA%3D%3D&login=YourUsername&password=YourPassword”
commit、uft8、login和password值相对来说是固定的,咱们要做到东西登陆,那么需求获取到authenticity_token这个值,然后一同经过POST办法提交。那应该怎么获取该值呢?
咱们翻开浏览器测验手动正常登陆,一同按F12翻开“开发者东西”,输入用户名和暗码能够看到跳转到https://github.com/session,而authenticity_token的值就在如下图方位:
虽然是躲藏的,可是咱们能够经过Xpath来获取它,然后跟其他参数一同提交登陆Github。看代码:
def login_github(username,password):#登陆Github
#初始化参数
login_url = 'https://github.com/login'
session_url = 'https://github.com/session'
try:
#获取session
s = requests.session()
resp = s.get(login_url).text
dom_tree = etree.HTML(resp)
#获取authenticity_token
key = dom_tree.xpath('//input[@name="authenticity_token"]/@value')
user_data = {
'commit: 'Sign in',
'utf8': '✓',
'authenticity_token':key,
'login': username,
'password': password
}
#发送数据并登陆
s.post(session_url,data=user_data)
#验证是否登陆成功
s.get('https://github.com/settings/profile')
return s
except:
print('发生反常,请检查 *** 设置及用户名和暗码')
2.查询关键词及成果出现
登陆后恳求查询的URL,然后获取呼应的页面,运用xpath解析节点获取想要的信息。关于xpath的语法请看这儿
http://www.runoob.com/xpath/xpath-tutorial.html
咱们还要将获取的信息写入表格里边,便于今后检查。概况如下:
def hunter(gUser,gPass,keyword,payloads):
global sensitive_list
global tUrls
sensitive_list = []
tUrls = [] try:
#创建表格
csv_file = open('leak.csv','w',encoding='utf-8',newline='')
writer = csv.writer(csv_file)
#写入表头
writer = writerow(['URL','Username','Upload Time','Filename'])
[1] [2] [3] 黑客接单网
其间,清晰的针对我国境内施行进犯活动的,而且仍旧活泼的揭露APT 安排,包含海莲花,摩诃草,蔓灵花,Darkhotel,Group 123,毒云藤和蓝宝菇,其间毒云藤和蓝宝菇是360在2018年下半年...
留意:这项技能仅在Linux进步行了测验,在Mac或许Windows上无法运转。 Firefox Web扩展 火狐的web扩展其实便是插件的新叫法,用JavaScript代码编写,可以与浏览器的API...
这就是福音啊,api.spreaker.com/whoami链接包括了已登录用户的一切灵敏信息: }缝隙原理与运用办法https://www.trustwave.com/Res...
1、下载BurpSuite API String : 192.126.119.48 -l list available modules 地址:http://dsploit.net/...
php因天然生成支撑web运用的开发,以其简略易学,开发效率高而备受喜欢。使其占有了大片的商场。可是php自身的安全问题却一向不曾消停,以及不标准的php代码编写标准,使得web运用漏洞百出。这篇文章...
请拜访http://tools.test.ichunqiu/0514575c下载试验文件。 Nmap适用于Winodws、Linux、Mac等操作体系。...