In short, you can't do this in one step.
You might think you can do something like
0 0 22-28 * 6 /path/to/ditto blah blah blah
which most people would interpret as run at midnight on every day between the 22nd and 28th of the month that happens to be a Saturday, but cron actually interprets this as 'run every day between 22-28 and also on Saturdays' which isn't what you want.
The easiest solution is to write a wrapper for your ditto command. Have your crontab call your script on one of the parameters (e.g. every day between the 22nd and the 28th) and the first thing your script does is check if the day is the other condition (e.g. Saturday). If it isn't, it gracefully exits.
This wrapper script could be as simple as:
#!/bin/sh
DAY="`date +%u`"
if [ "${DAY}" = "6" ] ; then
echo "Saturday - time to backup"
# ditto command goes here
else
echo "Not Saturday - do nothing""
fi