Skip to content

The syntax is strange when using the --sql-shell option. #5287

@Nzoth9

Description

@Nzoth9

Hello! How are you?
During SQLi test, I needed to use GROUP BY and subqueries, so I used the --sql-shell option.

  • sql-shell> SELECT idx,msg,send_num,rcv_num FROM DB.TB WHERE idx IN (SELECT MAX(idx) FROM DB.TB GROUP BY msg)
[02:40:41] [PAYLOAD] (SELECT (CASE WHEN (ORD(MID((SELECT *msg*,IFNULL(CAST(idx AS NCHAR),0x20),*send_num*,*rcv_num* FROM DB.TB WHERE idx in (SELECT MAX(idx) FROM DB.TB GROUP BY msg) LIMIT 2,1),1,1))>64) THEN 0x616464725f67725f6870 ELSE (SELECT 6153 UNION SELECT 5206) END))
[02:40:41] [PAYLOAD] (SELECT (CASE WHEN (ORD(MID((SELECT *msg*,IFNULL(CAST(idx AS NCHAR),0x20),*send_num*,*rcv_num* FROM DB.TB WHERE idx in (SELECT MAX(idx) FROM DB.TB GROUP BY msg) LIMIT 2,1),1,1))>32) THEN 0x616464725f67725f6870 ELSE (SELECT 6153 UNION SELECT 5206) END))
[02:40:41] [PAYLOAD] (SELECT (CASE WHEN (ORD(MID((SELECT *msg*,IFNULL(CAST(idx AS NCHAR),0x20),*send_num*,*rcv_num* FROM DB.TB WHERE idx in (SELECT MAX(idx) FROM DB.TB GROUP BY msg) LIMIT 2,1),1,1))>1) THEN 0x616464725f67725f6870 ELSE (SELECT 6153 UNION SELECT 5206) END))
[02:40:41] [INFO] retrieved:
[02:40:41] [DEBUG] performed 9 queries in 0.16 seconds

Odd parts are marked with *.

I think I need to get each column one by one, but when parsing the syntax, I don't seem to be parsing it properly. But one column is fetched just fine.

Sorry for adding to your work. Be careful of cold weather and flu.
Thank you! Dear @stamparm <3

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions