雨云服务器助你轻松搭建内网穿透,解决无公网IP问题。-X黑手网
点击查看-X黑手网
点击查看-X黑手网

TangGo | 快捷工具箱- 自定义工具!

阅读须知

本文所述之信息,只作为网络安全人员对自己所负责的网站及服务器进行检测和维护等运维行为的参考。未经合法授权请勿使用本文中的工具、技术及资料,对任何计算机系统进行入侵活动。利用本文所提供的信息所造成的直接或间接后果,及其所引发的损失,均由使用者承担。本文所提供的工具及方法仅用于学习,禁止用于其他!

快捷工具箱使用场景

日常工具使用中,时常会遇到工具需要用到命令行参数,普遍做法是通过参数–h,–help查看冗长的英语说明,看完一大堆参数后现炒现卖,下一次再用还得再看一次。可是在面对不同的应用,一大堆的参数面前,怎样可以快速高效的找到自己需要的参数呢?接下来让我们一起看看TangGo的快捷工具箱的超强的图形化自定义工具吧。

使用示例

测试软件:sqlmap-1.8,该软件为开源软件可以自行下载。

使用工具:TangGo 快捷工具箱。

安装快捷工具箱

快捷工具箱:顾名思义,方便快捷管理和使用自定义的工具。

打开TangGo,点击左下角进入快捷工具箱 。

点击添加一个工具:

image

具类型

○ 自定义界面工具:常见的是自定义运行脚本文件,例如该文中的:sqlmap。

○ 文件快捷访问:一般是可以运行的程序,例如:TangGo.exe。

○ 文件夹快捷访问:一般是文件夹路径,例如:C:/windows/temp/。

○ 超链接:一般是网站的URL,例如:https://www.baidu.com/。

image

运行环境:根据选择的工具给出对应的环境。

可以选择内置的环境,也可以在浏览中选择自己本地存在的环境。

image

工具路径:找到工具所在的路径。

image

自定义剩余内容。

image

完成之后看到工具添加完成。

image

自定义界面工具-参数录入

本次教程主要介绍自定义界面工具,结合 sqlmap 的使用,使用到命令行参数如下:

1 -url #目标URL
2 -r #从文件中加载HTTP请求
3 --level * #指定检测的等级
4 --dbs #枚举出所有数据库名
5 --current-db #获取当前数据库名
6 --tables #枚举出数据库中的所有表名
7 --columns #枚举出指定表中的所有列
8 --batch #会自动选择默认项(Y)
9 --form #表单注入
10 --dump #获取内容
11 --method #强制使用提供的HTTP方法
12 -D #指定要枚举的数据库
13 -T #指定要枚举的数据表

通过点击右上角“参数录入”,选择“添加”分别录入上述参数,程序最终命令:工具路径+环境参数+启动参数+表单参数。

image

注意:部分参数可以勾选“必填”选项,请根据运行需求来选择是否需要勾选。

 

环境参数

该部分是解决一些语言启动时候遇到问题,需要参数解决,例如:

○ python在执行的时候,由于缓冲区的设置导致命令执行的结果不能实时返回,可以加上-u参数来解决。

○ java的环境参数通常会配置 -noverify,-Xmx2048M 等参数。

启动参数

是指某工具的固定输入参数, 使用的时候通常为固定参数。

单行输入框

录入参数“–url”,通过添加一个类型为“单行输入框”,该选项可以输入一个单行的参数:(注意运行参数为实际运行所添加的参数)

image

保存之后,主页面可以查看,输入对应的参数地址即可看到参数:

image

多选框

录入“–dbs、–current-db、–tables、–columns”,添加一个“多选框”,该选项可以允许选择多个参数。

image

保存之后,根据需要可以选择对应的参数,这里选择参数“–dbs”和“–current-db”:

image

单选框

录入参数“–method”以及方法“GET、POST、PUT”,选择“单选框”,该选项可以从多个选项中选择一个。

image

保存后回到页面查看,可以单选选择请求方式。

image

开关

录入参数“–dump”,添加一个“开关”,该选项作为一个选择状态,可以根须实际需要开启。

image

 

保存后回到页面查看,开启后会默认追加“–dump”,关闭后则不会追加:

image

路径选择器

录入参数“-r”,选择“路径选择器”,该参数可以指定选择“文件 / 文件夹”的路径。

image

保存后回到页面查看,选择一个文档,该功能可以避免路径出错:

image

选择器

录入参数“–level 1、–level 2、–level 4”,选择“选择器”,该选项可以选择对应的参数。

image

保存之后回到页面,选择对应的等级可以展示对应的参数:

image

多行输入框

自选参数,选择“多行输入框”,该选项可以保证一次输入多行数据:

image

保存后回到页面查看,输入多行数据会显示:

image

自定义参数页面

当添加一定多的功能后会遇到内容繁杂,并且不能针对目标进行细致的处理,接下来看看自定义界面工具中的自定义参数界面:

image

择右上角

image

 

可以新增页面,新建自定义参数界面,可以根据需要勾选自己的内容即可:

image

根据实际需求选择对应的自定义界面:

image

新功能使用

最新版本的自定义界面工具已经支持使用交互式的命令行, 在交互式命令行终端可以交互式执行命令,常用操作 :

○ 选中终端中的数据,点击鼠标右键即可复制选中的数据;

○ 在光标位置点击右键即可将剪贴板中的数据以命令形式粘贴执行;

○ 如需退出交互式命令行终端,可以按下ctrl+c或输入exit命令后按两次回车键。 

示例程序代码如下:

# 非常简单的示例
2 import time
3 print("hello word!")
4 a = input("This is an input-->")
5 print(a)

image

其他情况:

对于部分应用需要修改对应的代码选项,例如在使用 sqlmap 的时候,默认的终端会给我们选择 Y:

image

原因如下,在 \sqlmap-1.8\lib\core\common.py 代码中:

def checkPipedInput():
2     """
3     Checks whether input to program has been provided via standard input (e.g. cat /tmp/req.txt | python sqlmap.py -r -)
4     # Reference: https://stackoverflow.com/a/33873570
      """

5 return hasattr(sys.stdin, "fileno") and not os.isatty(sys.stdin.fileno())

checkPipedInput() 函数的目的是检查 Python 是否通过管道 (pipe) 接收到了标准输入 (stdin) 的数据。通常在命令行中,可以通过管道将一个命令的输出作为另一个命令的输入。

函数内部实现:

image

总结来说,当这个函数返回 True 时,意味着标准输入是从其他命令通过管道传递过来的数据,而非来自键盘的直接输入。

修改措施:

def checkPipedInput():
2     """
3     Checks whether input to program has been provided via standard input (e.g. cat /tmp/req.txt | python sqlmap.py -r -)
4     # Reference: https://stackoverflow.com/a/33873570
      """

5 return False

把原有的:”return hasattr(sys.stdin, “fileno”) and not os.isatty(sys.stdin.fileno())”修改为”return False”。

再次运行程序,程序可以正确进行终端交互:

image

注意:工具使用内容请以最新版本为主。

推荐阅读

国内自研协同作战TangGO渗透测试平台(上篇)-X黑手网
TangGo使用教程 | TangGo更新和安装-X黑手网
fofa、ZoomEye、鹰图,这么多引擎语法不好解决?-X黑手网

 

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞10赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容