关于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 这样就可以直接查看所有扫描结果了

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


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

查看所有标签

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

计算机算法导引

计算机算法导引

卢开澄 / 第2版 (2006年1月1日) / 2006-1 / 38.0

本书为《计算机算法导引——设计与分析》的第2版。书中内容分3部分:第1部分是基本算法,按方法论区分,包含优先策略与分治策略、动态规划、概率算法、并行算法、搜索法、数据结构等;第2部分是若干专题,包括排序算法、计算几何及计算数论、线性规划;第3部分是复杂性理论与智能型算法,其中,智能型算法主要介绍了遗传算法和模拟退火算法。本书可作为计算机系本科学生及研究生教材,数学系师生和科研T作者也可将其作为参考......一起来看看 《计算机算法导引》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具