博主介绍
博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
点赞评论收藏 == 养成习惯(一键三连)
欢迎关注一起学习一起讨论⭐️一起进步文末有彩蛋
作者水平有限,欢迎各位大佬指点,相互学习进步!
目录
0x1 题目
Tips:
通过sql注入拿到管理员密码!
尤里正在追女神小芳,在得知小芳开了一家公司后,尤里通过whois查询发现了小芳公司网站
学过一点黑客技术的他,想在女神面前炫炫技。于是他打开了
0x2 解题过程
1、信息收集
进入题目的页面,咋一看像个静态的html页面,一般静态的html页面直接右击查看网页源代码试试
但是并没有找到什么有价值的信息
这里有一个点击查看新闻
的按钮可以访问,然后看到URL存在id=1,这高低得给他测试个sql注入啊
2、手工sql注入测试
求闭合
废话不多说,直接上hackbar
直接上了个常见的单引号和双引号开路,发现页面确实不一样了,但是看着好像有点像第一个页面。算了,接着测,接着测,后面看看怎么肥四。
然后就是常规操作利用and 1=1和and 1=2进行判断闭合,以及看是否确实存在sql注入漏洞。
但是测了发现都一样,也没什么报错的地方,坏了,应该就是开始利用单引号和双引号进行测试闭合的时候出问题了。
于是我就直接不带引号,直接测,发现当1=1和1=2页面不一样,一下子就精神起来了,找到闭合了,那么这个网站确实可能存在sql注入了。
?id=1 and 1=1
?id=1 and 1=2
求显示位 order by
利用参数order by进行判断,从1开始,一直往后面判断,一直到3就开始回显不正常了,那么显示位就是2 了
?id=1 and 1=1 order by 1
?id=1 and 1=1 order by 1,2
?id=1 and 1=1 order by 1,2,3
判断回显点
构造 ?id=1 and 1=2 union select 1,2 回车
页面出现了 2 ,说明我们可以在数字 2 处显示我们想要的内容
求数据库/用户名/版本号
这里因为平常挖漏洞比较多,所以一般拿到一个存在sql注入的地方,想着去拿数据库/用户名/版本号这些信息,因为一般提交漏洞,只需要这三个其中两个就ok了,能证明危害即可,所以也是不建议大家去拿数据库里面的数据。
言归正传,这里是靶场网站嘛,做题目就全拿了,这里题目要求是拿到这个管理员的密码
数据库
这里给师傅们扩展下用户名、版本号的替换,因为一般实战中的网站很多都是带WAF和过滤的,一般像求数据库user、版本号version都是很常见的被过滤掉了,下面是可以替换的,大家平常可以去关注下开发手册,还是蛮有帮助的
user --> system_user()/session_user()
version() --> @@version
求表
这里使用group_concat()函数进行查询信息
?id=1 and 1=2 union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()
这里是要拿到管理员的密码,那下面得拿admin这个表名来接着查询下面的内容
求字段名
?id=1 and 1=2 union select 1,group_concat(column_name) from information_schema.columns where table_name="admin"
看到password字段了,接下来就是查这个字段名的内容 了
求字段内容
成功拿到了admin管理员的密码了
?id=1 and 1=2 union select 1,group_concat(password) from admin
0x3 总结
这个题目总的来讲还是蛮中规中矩的,没有对什么关键字进行过滤啥的,但是这里我后面尝试使用sqlmap跑,跑了很久,应该是这个网站对大量流量有个限制啥的,师傅们可以尝试下。
这篇文章写出来的WP并不是主要是这道题目,而是给大家讲下做这道题目的一个思路以及实战中的一些注意事项什么的。
最后希望能对师傅们有点帮助,嘿嘿嘿!!!
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 记封神台的一次SQL注入靶场渗透测试
发表评论 取消回复