引自免费微信小程序:皆我百晓生
针对你在sqli-labs-master靶场遇到的问题,让我们逐一分析并尝试解决。
第八关(Less-8)的问题
在Less-8关卡中,你提到使用'# 和 and 1=2 进行测试时,页面中的 “you are in” 并没有消失,与预期不符。这可能是因为网站对输入进行了过滤或处理,使得注入语句未能生效。
解决方案
尝试使用不同的编码或绕过方法。例如,可以尝试将'# 替换为 %23%27 或使用其他字符进行注释。对于 and 1=2,确保其正确地被包含在SQL语句中,可以通过调整引号的位置来实现这一点。
示例代码:
# 测试用的URL参数
payload = "1%27%23" # 尝试使用URL编码的单引号和井号
url = f"http://your-target.com/sqli-labs-master/Less-8/?id={payload}"
第一关(Less-1)的问题
在Less-1关卡中,你输入 ?id=1' 后,期望看到错误信息,但实际上没有反应。这可能是因为服务器返回的错误被隐藏了,或者你的输入未被正确解析为SQL注入尝试。
解决方案
确保你的测试环境配置正确,即服务器允许显示SQL错误信息。此外,尝试更复杂的注入语句,如 ?id=1' OR '1'='1 或 ?id=1' AND (SELECT 1 FROM(SELECT(SLEEP(5)))X) --,这些语句可以用来测试是否存在SQL注入漏洞,并且可能触发不同的响应。
示例代码:
# 测试用的URL参数
payload1 = "1' OR '1'='1"
payload2 = "1' AND (SELECT 1 FROM(SELECT(SLEEP(5)))X) --"
url1 = f"http://your-target.com/sqli-labs-master/Less-1/?id={payload1}"
url2 = f"http://your-target.com/sqli-labs-master/Less-1/?id={payload2}"
总结
- 对于Less-8,尝试使用不同的编码方式或绕过策略来构造你的SQL注入语句。
- 对于Less-1,确保你的测试环境允许显示错误信息,并尝试使用更复杂的SQL注入语句。
如果上述方法仍无法解决问题,检查你的测试环境设置,确认是否正确启用了错误报告,以及是否正确理解了靶场的规则和目标。有时候,靶场的某些关卡可能需要特定的技巧或知识才能通过。希望这些建议能帮助你进一步探索和学习SQL注入技术。
