南京建设银行官方网站,做视频小网站犯法吗,wordpress 拒绝访问,wordpress 调用所有分类感觉复制粘贴没有意思#xff0c;而且还有点浪费时间#xff0c;主要是学习#xff0c;不是复制#xff0c;那就复制别人的吧
第27关就参考这篇文章吧#xff0c;以下大部分内容都是参考以下文章#xff08;侵权删除#xff09;
第27天#xff1a;WEB攻防-通用漏洞而且还有点浪费时间主要是学习不是复制那就复制别人的吧
第27关就参考这篇文章吧以下大部分内容都是参考以下文章侵权删除
第27天WEB攻防-通用漏洞SQL注入Tamper脚本Base64Jsonmd5等 - 解放者-cracer - 博客园 (cnblogs.com)
sql注入类型
目录
搜索型
json型
宽字节注入 如果没有实战那我就多思考一下吧这个小迪的课都还没搞明白你去搞其他的浪费时间啊这个不就是三分钟热度吗对学习小迪安全这件事情吧这个课搞明白再去搞其他的行不行我记得小迪说过学完这个课可以达到红队初中级蓝队中高级真的假的那就努力学不要搞其他事情浪费时间
第26关没有靶场那个实验做不出来
这个应该都是phpmysqlapache
搜索型
SQL语句$sqlselect * from sy_guestbook where gName like %$s%;
这个和其他的语句是不一样的因为这个的闭合方式是不一样的也不知道搜索型都是这样的闭合方式还是只有这一种是这样的
闭合方式为% xxxxxx --为百分号单引号闭合如果这样闭合不了的话那就试试and使其成为对比条件使其相等就不会影响sql语句
select * from sy_guestbook where gName like %演示% UNIONALLSELECT1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17 and %%
json型
json型 表现形式不一样提交数据一样的
{“username”:admin} 键名和键值
取数据的时候只会接收admin的值不会接收双引号。数据表现形式
json:
{username:admin,password:xiaodi}
常规
usernameadminpasswordxiaodi如何注入
常规usernameadmin and 11passwordxiaodi
json{username:admin and 11,password:xiaodi}
json格式参考https://baike.baidu.com/item/JSON/2462549?fraladdinjson注入payload应该怎么构造呢
这里使用到post提交json{username:admin order by 3#}查询用户和数据库名
json{username:admin and 12 union select 1,database(),user()#}json型注入出现的地方根据我的猜测应该是出现在用户名和密码的那个地方也就是登录的地方因为一个键对应一个值格式是这样的 宽字节注入
宽字节注入条件 (1)数据库查询设置为GBK编码 (2)使用了addslashes()mysql_real_escape_string(),mysql_escape_string()之类的函数
首先我们需要知道他是宽字节注入小迪说的所以我们先测试应该是这样测试的%df看是否报错
关于迪哥为什么加上and 1-2应该是让前面的式子不成立执行后面的sql语句我觉得可以直接在id1把1改成-1前面搜索的结果为假然后执行后面的aql语句
http://219.153.49.228:42692/new_list.php?id1%df and 1-2 union select 1,2 3,4,5 --
SQL注入接收数据但是数据会出现/ \这种符号
转义函数addslashes
\n 换行
\n 字符串但是电脑以为你是换行
对字符串进行转义\\n进行转义。%df就可以进行绕过利用宽字节
原理利用繁体字或者乱码来进行占用两个字节。
\ 一个字节两个字节
中文 两个字节
用到了addslashes函数后再次进行注入的时候
注入payloadhttp://127.0.0.1:8081/web/news.php?gtplsimple order by 17--
但是实际上的SQL语句执行时候select * from sy_guestbook where gTplsimple\ order by 17--
对进行了转义变成了\
这里举例sql-lab的第33关来演示
由于单引号被转义了第33关
mysql_real_escape_string()函数会将SQL语句中使用的字符串中的特殊字符进行转义。这些特殊字符包括单引号双引号反斜杠\等。通过转义这些字符可以防止恶意用户构造特殊的字符串来绕过SQL查询的限制从而执行未授权的数据库操作。先获取表名因为单引号被转义了写成database()
http://sql-labs:8888/Less-33/?id0%81%27%20union%20select%201,2,group_concat(table_name)%20from%20information_schema.tables%20where%20table_schemadatabase() --在获取列名将user进行16进制编码0x表示16进制的前缀
http://sql-labs:8888/Less-33/?id0%81%27%20union%20select%201,2,group_concat(column_name)%20from%20information_schema.columns%20where%20table_schemadatabase() and table_name0x7573657273 --在获取数据
http://sql-labs:8888/Less-33/?id-1%df union select 1,2,password from users -- 参考
json的几种标准格式_json格式-CSDN博客
宽字节注入-CSDN博客