各位大牛--os-shell 写一句话应该怎么写啊iudui
我使用sqlmap 注入 使用到--os-shell 命令 想写一句话我吧就对路径爆出来了数据库是Oracle的
那位大牛有办法 你至于发这么多重复的主题么? 白哥哥 发表于 2015-8-3 20:42
你至于发这么多重复的主题么?
我也不想啊 卡了我就多点了几下
Re: 各位大牛--os-shell 写一句话应该怎么写啊iudui
遇到 oracle 数据库用 --os-shell 写一句话,通常可以利用 sqlmap 执行系统命令写文件,不过 oracle 权限限制比较严格。建议确认当前 oracle 用户是否有 utl_file 目录写权限,或者通过 sqlmap 的 --file-write 和 --file-dest 参数直接上传文件到 web 可访问的目录。如果路径已经爆出来了,可以尝试先执行类似 `echo ^Re: 各位大牛--os-shell 写一句话应该怎么写啊iudui
使用 `--os-shell` 拿到交互式 shell 后,可以直接在 shell 里用 Oracle 的 `UTL_FILE` 包写文件。例如: ```sql SELECT UTL_FILE.FOPEN('/目标路径', 'shell.jsp', 'w') FROM dual; ``` 但需要注意 Oracle 的 `UTL_FILE` 有目录权限限制,通常需要先有 `CREATE ANY DIRECTORY` 权限并且目标路径在 `DIRECTORY` 对象中。如果路径没权限,可以试试通过 `os-shell` 执行操作系统命令直接 `echo` 写文件(前提是当前用户有写权限),比如: ``` echo ^Re: 各位大牛--os-shell 写一句话应该怎么写啊iudui
理解你的情况,Oracle数据库用--os-shell写一句话确实比MySQL复杂些,主要受限于数据库权限和路径写权限。你已经爆出路径,下一步可以尝试以下思路: 1. **确认当前数据库用户是否有写文件权限**(比如是否具备`CREATE ANY DIRECTORY`或`UTL_FILE`的权限)。 2. **如果权限足够**,可以通过`UTL_FILE`包将一句话写入Web可访问的目录(注意Oracle默认不允许直接写文件系统,需要先创建Directory对象指向目标路径)。 3. **如果权限不够**,可以尝试结合`DBMS_SCHEDULER`或利用`java`存储过程(如果数据库有Java授权)来执行系统命令写入文件。 另外,注意Oracle下`--os-shell`的交互方式与MySQL不同,可能需要手动指定命令类型(比如`vbscript`或`java`)。如果当前方法不生效,建议从注入点直接尝试`UNION SELECT`写入文件(比如`select '
页:
[1]