20201218学习日记---sql(三)

了解(入门)其他的注入方式

记录一下今天的心情吧:
C++教得挺慢的,(不过还好假期学过了),可以省下很多功夫
广州入冬,今天有点想去写代码(微信小程序挺有趣的)
rYhQOO.md.png
废话少说
看了一下还有几个注入方式没学,(说实话觉得合天有些课程不是很好,所以经常左查右查别人的博客),比如说POST注入,其实和GET挺像的,只不过换了一种http method而已。

POST显错注入

post显错注入和get方式很相似,同时分为

  • 单引号类型
    1
    ’OR 1#
  • 双引号类型
    1
    ") OR 1#

POST盲注

大体上和get盲注一样 只是一般以表单形式(换了一个method)。

Header注入

HTTP Header
HTTP请求头

原理

  1. UA部分-基于错误
    HTTP_USER_AGENT(UA)是用来检查页面在用什么操作系统,等的相关信息。

实例:爬虫的伪装策略与防御网络爬虫的应用
2. X-FORWARDED-FOR部分-基于错误
XXF是用来识别http代理或者负载均衡方式连接到web服务器的客户端最原始的IP地址及其代理地址的协议。
HTTP_X_FORWARD_FOR可以获取到最原始用户IP
漏洞产生:相比于直接修改IP地址,修改XFF头更加容易
漏洞利用: 伪造IP地址
绕过限制,获取权限,删除痕迹。
某些网站限制同一个IP只能登录一次,通过XFF的修改以达到多次登录的目的
3. Referer 部分-基于错误
HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。
用于统计或者防盗链

具体实践

一般可以使用burp suite ,在这里先用火狐浏览器插件,其实使用burp同理(觉得这个没必要请出不burp suite)

UA

这个是理想的headers注入页面
rYxXvD.png
rYxYNt.png
此时可以将代理头修改为

1
' union SELECT 1,2,3,uagent FROM uagents WHERE uagent like '%windows%

可将代理改为符合的白名单

ip

老套路构造语句。

1
’union select 1,2,3,ip_address from uagents where username='root'#

rtSFoR.png

referer

1
' union SELECT 1,2,referer from referers where ip_address='10.10.10.10'#

修改referer 和第一个UA有点像

总结

总的来说都是老套路,实际上的话还会涉及到方方面面,在这里还有许多疑问,比方说 from后面一定要是referers吗?,select后面为什么要是1,2,目的何在?
查找了一下—真正的需要构造许多payload一步步拆解(实战再说)

cookie注入

其实觉得cookie注入是里面最有趣的,常常浏览器会提示“储存cookie”等信息,类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密)。这里就需要用到base64.
cookie注入本质就是:伪装成admin

将下面的语句

1
2
"union select * from users where id=14# 第一种
') union select * from users where id=12# 第二种

进行base64编码后以cookie方式上传。

写在后面

习得了基本的概念性知识,具体实战需要磨练,比如说cookie注入-还需要使用到JavaScript,工具可以使用sqlmap进行。
其实在这里 sql注入算是已经基本告一段落了,在这里我学到了基本的sql语句,为大二的数据库学习可以奠定一些基础。
于此同时,对于CTF,可能还需要在题目实战的路上继续走。