关于SRC挖掘的一点小脚本

栏目: Python · 发布时间: 7年前

内容简介:大佬们怼网站已经怼的很凶了,实在无从下手的时候,可以从app上测测,除了平时的APP抓包,我们还可以逆向app从而找到一些没人怼过api或者服务器。首先关于app的逆向方面,我推荐两个工具apktools和Android逆向助手

大佬们怼网站已经怼的很凶了,实在无从下手的时候,可以从app上测测,除了平时的APP抓包,我们还可以逆向app从而找到一些没人怼过api或者服务器。

首先关于app的逆向方面,我推荐两个工具

apktools和Android逆向助手

我们之间用apktools逆向app即可

apktool d app-release.apk

在逆向之后会发现文件夹里有smali_classes文件夹,这里存放了一些后缀为.smali文件,

在这里可以找到一些url,但是由于内容太多,一个个点开很麻烦,我写了个小 python 脚本,把里面的url提取出来

!!不过注意我这个脚本跑的挺慢的,例如smali_classes1 smali_classes2,脚本放在这种里面的文件夹内,不然要跑多久我也不知道!!

get_url.py python2

#coding=utf-8
import os
import re
result = []
def get_all(cwd):
    global text
    get_dir = os.listdir(cwd)  #遍历当前目录,获取文件列表
    for i in get_dir:          
        sub_dir = os.path.join(cwd,i)  # 把第一步获取的文件加入路径
        if os.path.isdir(sub_dir):     #如果当前仍然是文件夹,递归调用
            get_all(sub_dir)
        else:
            ax = os.path.basename(sub_dir)  #如果当前路径不是文件夹,则把文件名放入列表
            result.append(ax)          
            #打开文件叠加读取
            f=open(sub_dir,"r")
            text=text+f.read()
def write_url():
    pattern = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+')
    url = re.findall(pattern,text)
    f2 = open("url.txt","w+")
    f2.writelines([line+'\n' for line in url])
if __name__ == "__main__": 
    cur_path = os.getcwd()   #当前目录
    text=""
    get_all(cur_path)
    write_url()

然后会得到一个都是url的文件,对其测试或许可以找到一些漏洞

关于SRC挖掘的一点小脚本

当然在这里测的时候,找到了一些api访问要带参数,关于参数可以用一款叫Android逆向助手,先点击提取dex然后再dex转jar

然后ctrl+shift+s就可以全局搜索url,然后读他源码来看看需要传入什么参数

关于SRC挖掘的一点小脚本

关于目录爆破的一点小脚本

在查找到一些子域名之后,不妨之间爆破一些他的目录,有时候可能会有意外发现

我会在我的服务器上运行一个小 shell 脚本来对这些子域名进行目录扫描,我用的是dirsearch https://github.com/maurosoria/dirsearch

dir.sh

for line in `cat url`
do
    timeout 300s python3 dirsearch.py -u $line -e *
done

目录下有url这个文件,他存放着一些我们的url,可以是平时的子域名,也可以是上面的逆向出来的一些url,dirsearch一般不用太长时间就可以跑完,扫崩了的情况可以用timeout来限制他跑一次的时间,这样就不怕卡死了。

dirsearch扫描结果在reports文件夹下,可以切换进去

然后用个类似上面的脚本来把这些扫描结果整合在一起

reports.py

#coding=utf-8
import os
result = []
def get_all(cwd):
    global text
    get_dir = os.listdir(cwd)  #遍历当前目录,获取文件列表
    for i in get_dir:
        sub_dir = os.path.join(cwd,i)  # 把第一步获取的文件加入路径
        if os.path.isdir(sub_dir):     #如果当前仍然是文件夹,递归调用
            get_all(sub_dir)
        else:
            ax = os.path.basename(sub_dir)  #如果当前路径不是文件夹,则把文件名放入列表
            result.append(ax)
            #打开文件叠加读取
            f=open(sub_dir,"r")
            text=text+f.read()
if __name__ == "__main__":
    cur_path = os.getcwd()   #当前目录
    text=""
    get_all(cur_path)
    rs=open("rs.txt","w+")
    rs.write(text)

然后得到扫描结果rs,txt 这样就可以直接查看所有扫描结果了

小弟不才,不会太多自动化的东西,只能用点小脚本来代替重复劳动,第一次发帖,大佬们多多包涵。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Data Structures and Algorithms in Python

Data Structures and Algorithms in Python

Michael T. Goodrich、Roberto Tamassia、Michael H. Goldwasser / John Wiley & Sons / 2013-7-5 / GBP 121.23

Based on the authors' market leading data structures books in Java and C++, this book offers a comprehensive, definitive introduction to data structures in Python by authoritative authors. Data Struct......一起来看看 《Data Structures and Algorithms in Python》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具