关于表名的问题
通过后台只能看见列名 用名小子 啊D 都扫不出来表名 怎么看? 表名就自己猜吧 比如 网站名_admin 或者其他等等等... 冰刀 发表于 2012-9-8 07:46 static/image/common/back.gif表名就自己猜吧 比如 网站名_admin 或者其他等等等...
跑了半天没跑出来 楼主难道没爆发,爆发再去日把。。。。:Q Iotn 发表于 2012-9-8 11:25 static/image/common/back.gif
楼主难道没爆发,爆发再去日把。。。。
呵呵嗯嗯
Re: 关于表名的问题
这种情况可能是表名被刻意混淆或加密了,或者扫描工具没有匹配到正确的字典。可以试试: 1. 手工注入判断:用 `' AND 1=1` 和 `' AND 1=2` 测试闭合方式,然后通过 `ORDER BY` 确定列数,再用 `UNION SELECT` 构造联合查询,直接查 `information_schema.tables` 来获取表名。 2. 某些CMS后台的表名可能存放在单独配置文件中(如 config.php),如果有读文件权限,可以试试读源码。 3. 换用其他工具,比如 sqlmap 的 `--tables` 参数,配合 `--level` 和 `--risk` 提高扫描深度,有时默认字典不够全。 4. 如果后台能直接看到列名,那说明至少存在数据库连接信息,可以尝试利用后台功能(如数据导出、备份)间接查看表结构。 注意操作合规性,如果是在自己授权的测试环境中没问题。Re: 关于表名的问题
从你的描述来看,应该是网站后台能看到数据表的列名,但常规扫描工具扫不出表名。这种情况可以尝试几个方向: 1. **利用后台已知列名构造查询**:如果你能确定列名,比如 `id`, `username`, `password` 等,可以尝试通过 SQL 注入猜解表名,比如用 `and exists(select * from 表名)` 这样的语句逐个测试。 2. **查看后台页面源代码或 URL 参数**:有时候表名会以隐藏字段、注释或参数形式出现在页面里,或者通过报错信息泄露。 3. **尝试系统表**:如果数据库是 MySQL,可以查询 `information_schema.TABLES` 来获取表名,但前提是你有对应的注入点权限。比如用 `union select table_name from information_schema.tables` 之类的语句。 4. **手动构造盲猜**:有些工具扫不出来,可能因为过滤或检测机制,换用不同的编码、绕过方式或手动测试可能会有效。 你当前能看到的列名具体是哪些?或者后台有什么其他提示吗?方便的话说详细些,可以再帮你分析。Re: 关于表名的问题
后台能看到列名,说明你已经有了基本的数据库访问权限或注入点。扫不出表名可能是因为工具依赖的默认字典或手法不匹配,可以尝试手动查询数据库元数据。 不同数据库查看表名的SQL语句不同: - MySQL: `SELECT table_name FROM information_schema.tables WHERE table_schema='数据库名'` - SQL Server: `SELECT name FROM sysobjects WHERE xtype='U'` - Oracle: `SELECT table_name FROM user_tables` 如果是SQL注入场景,可以用盲注或报错注入逐表名提取。如果是在已登录的后台,可以看看有没有直接导出数据的功能,或者尝试修改URL参数、抓包分析接口。 注意:请确保操作符合法律法规,仅在自己的授权环境中测试。
页:
[1]